如何判断应用调用API时使用POST还是PUT请求
表单提交时POST/PUT请求的判断方案
核心判断逻辑
直接通过是否获取到已有数据来区分请求方法:
- 当GET请求能拿到对应的数据(也就是第二个输入框是基于已有条目填充的),说明是更新操作,用
PUT - 当GET请求拿不到有效数据(比如URL参数对应的条目不存在,或者是全新的新增场景),说明是新增操作,用
POST
具体实现步骤
- 初始化状态时,加个状态变量(比如
hasExistingData),默认设为false - 发起GET请求后:
- 若返回正常数据,把
hasExistingData设为true,同时用返回值填充第二个输入框 - 若返回空数据或者404状态码,保持
hasExistingData为false,第二个输入框留空或设默认值
- 若返回正常数据,把
- 提交表单时,根据这个变量判断:
hasExistingData ? 'PUT' : 'POST'
额外注意点
- 要处理GET请求的异常情况(比如网络失败),避免因为请求失败误判成新增操作
- 如果URL参数本身就是新增标识(比如参数值为
new),可以直接跳过GET请求,直接用POST
内容的提问来源于stack exchange,提问作者kekerinho
相关产品推荐
相关产品推荐

