Restful和postman
1、Restful 理解RESTful是一种规范,是微服务的一种标准,rest更容易在代码中看出来,这是开发时候的规范。REST全称是表述性状态转移,那究竟指的是什么的表述? 其实指的就是资源。任何事物,只要有被引用到的必要,它就是一个资源。资源可以是实体(例如手机号码),也可以只是一个抽象概念(例如价值) 。要让一个资源可以被识别,需要有个唯一标识,在Web中这个唯一标识就是URI(Un...
1、Restful 理解
RESTful是一种规范,是微服务的一种标准,rest更容易在代码中看出来,这是开发时候的规范。
REST全称是表述性状态转移,那究竟指的是什么的表述? 其实指的就是资源。任何事物,只要有被引用到的必要,它就是一个资源。资源可以是实体(例如手机号码),也可以只是一个抽象概念(例如价值) 。要让一个资源可以被识别,需要有个唯一标识,在Web中这个唯一标识就是URI(Uniform Resource Identifier)。
为什么会出现Restful
在Restful之前的操作:
http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据
http://127.0.0.1/user/save POST 新增用户
http://127.0.0.1/user/update POST 修改用户信息
http://127.0.0.1/user/delete GET/POST 删除用户信息
RESTful用法:
http://127.0.0.1/user/1 GET 根据用户id查询用户数据
http://127.0.0.1/user POST 新增用户
http://127.0.0.1/user PUT 修改用户信息
http://127.0.0.1/user DELETE 删除用户信息
事例:
类 :@RequestMapping("/user")
get:@RequestMapping(value = "{id}", method = RequestMethod.GET)
post:@RequestMapping(method = RequestMethod.POST)
put:@RequestMapping(method = RequestMethod.PUT)
delete:@RequestMapping(method = RequestMethod.DELETE)
有些参数可以直接放到url中 {id},@PathVariable("id")
有些例如实体可以放到body中,然后用@RequestBody Car car
之前的操作是没有问题的,大神认为是有问题的,有什么问题呢?你每次请求的接口或者地址,都在做描述,例如查询的时候用了query,新增的时候用了save,其实完全没有这个必要,我使用了get请求,就是查询.使用post请求,就是新增的请求,我的意图很明显,完全没有必要做描述,这就是为什么有了restful.
如何使用:
解释一下幂等(如果说错了,还请大佬指正,我好做修改,谢谢!!)
幂等就是一次请求和多次请求,资源的状态是一样。
①get:只是查询数据,不会影响到资源的变化,因此我们认为它幂等。就是说你多次查询,不会影响到资源,或者说不会新建数据,所以一般用于查询数据
②post和put一般都是用于增、更新的。但post是不幂等的,用于新增,因为你每次新增都会改变资源。而post是幂等的,用于更新,在更新前资源已经存在了,只是去更新一下,本身资源并没有新增。(感觉说的有点问题。。。)
③delete
对同一个资源删除一次或者多次,结果是一样的,就是资源被删除了,不存在了。所以说也是幂等的。
2、postman如何安装、使用
因为之前项目并未涉及到restful,所以自己就在后台服务写了几个接口,然后用postman去请求。
postman下载插件地址:http://www.cnplugins.com/devtool/postman/download.html
下载后可以按照网上说的集成到chrome中,我按照https://www.cnblogs.com/zqyanywn/p/6947051.html 上面说的并没有成功,可是我点开chrome左上角的 应用,
直接点进去就可以了。
以下是我测试的例子:
在postman中选择请求方式测试即可。
暂时的理解:
查询 get 、新增 post、更新 put、删除 delete
尝试了一下传json:
(postman中如何传json: https://blog.csdn.net/wangjun5159/article/details/47781301)
总结一下传参数:
①在url 中写,/test/{id} 用@PathVariable("name") String name
②在url后拼接,/test?id="12",@RequestParam("name") String name
③一般前后台传实体都是需要在前台先转成json,然后放到body中。所以获取实体:@RequestBody Stu stu
参考:
https://zhidao.baidu.com/question/373737226952238764.html
https://blog.csdn.net/garfielder007/article/details/55684420
更多推荐
所有评论(0)