为了账号安全,请及时绑定邮箱和手机立即绑定

rest API在做修改操作时,如何返回修改后的结果

rest API在做修改操作时,如何返回修改后的结果

猛跑小猪 2019-05-12 11:34:13
设计rest接口,对于修改(update,add,delete)操作,网上有说应该将修改后的结果返回调用方,调用方就可以直接利用这个修改后的结果。那么这个返回结果是将修改后的整个实体(比如User)返回,还是返回一个主键id。问题1:①如果返回一个主键id。由于update和delete的id本来就是从调用端传过来,因此不需要返回。而add时id是后台生成的,所以需要返回给调用者。这样的话,即使封装了统一返回对象,感觉API的返回json还是不太统一。②如果返回实体。岂不是一个修改操作的api就要操作数据库两次(一次修改,一次查询)请问各位大大都是如何设计restAPI的呢?有没有代码分享一下?谢谢了!
查看完整描述

2 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

你好,RestfulAPI是一种设计风格,并不是强制的标准我们可以对比一下传统与其的写法传统写法:查询/user/query?name=tomGET详情/user/getInfo?id=1GET创建/user/create?name=tomGET修改/user/update?id=1&name=jerryPOST删除/user/delete?id=1GETRESTful写法查询/user?name=tomGET详情/user/1GET创建/userPOST修改/user/1PUT删除/user/1DELETE关于RestfulAPI的几点说法1、用URL描述资源2、使用HTTP方法描述行为,使用HTTP状态码来表示不同的结果3、使用json交互数据4、RESTful只是一种风格,并不是强制的标准官方也有一个模型:Level0:使用Http作为传输方式Level1:引入资源概念,每个资源都有对应的URLLevel2:使用HTTP方法进行不同的操作,使用HTTP状态码来表示不同的结果Level3:使用超媒体,在资源的表达中包含了链接信息类似SpringMVC中开发RestfulAPI,一个查询请求:
——编写针对RestfulAPI的测试用例——使用注解声明RestfulAPI——在RestfulAPI中传递参数
常用注解——@RestController标明此Controller提供RestAPI——@RequestMapping及其变体,映射http请求url到java方法——@RequestParam映射请求参数到java方法的参数——@PageableDefault指定分页参数默认值而对于具体返回什么,或者获取什么,更多的时候要根据业务的重点来设计。
                            
查看完整回答
反对 回复 2019-05-12
  • 2 回答
  • 0 关注
  • 779 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信