SPRINGMVC中的RESTFUL架构风格
2018-02-12 11:35
393 查看
尊重原创,原文链接
RESTful架构:是一种设计的风格,并不是标准,只是提供了一组设计原则和约束条件,也是目前比较流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。
关于RESTful架构给你一个链接讲的挺好的:http://www.ruanyifeng.com/blog/2011/09/restful
这里我结合springMVC讲解一下RESTful在springMVC中的使用,在讲之前先来看看RESTful提倡哪些做法:
他会对url进行规范:
a) 非REST风格的url:localhost:8080/springmvc?name=小白&password=123;
b) REST风格的url:localhost:8080/springmvc/小白/123;
分析:
直观上看是不是比较简洁
看不懂:隐藏了参数名称,安全性,防止被攻击
所有的url都可以当成是资源
对http的方法进行规范
a)不管是删除,添加,更新….使用的url都是一致,那么如果需要删除,就把http的方法设置删除
b) 控制器:通过判断http的方法来执行操作(增删改查)
目前这种做法还没有被广泛采用
3.对contentType也进行规范
a) 就是在请求是指定contentType的类型(json交互中就有体现)
4.接下来看看springMVC中怎么实现RESTful风格
首先:你在请求路径上@RequestMapping(value = "/hello_rest/{name}/{password}")需要用{}来动态匹配参数
其次:方法的形参上要@PathVariable("name")来匹配上面的参数,这里@PathVariable中的字符串必须和你{}中的名字一致
访问路径:localhost:8080/工程名/hello_rest/xx/xx(其中xx就是你随便填写的内容,它会匹配到后台的name和password的值)
比如:
你输入的路径是:[b]localhost:8080/工程名/hello_rest/小白/admin[/b]
后台会匹配到:name="小白",password="admin"
这种写法和第一种类似,只不过是把{}动态匹配参数的放到前面去了,其原理是一样的,不多说,直接看看这个访问路径的写法就好
访问路径:localhost:8080/工程名/xx/xx/hello_rest
只是把参数由后面放到前面去了而已。
分类: springmvc
RESTful架构:是一种设计的风格,并不是标准,只是提供了一组设计原则和约束条件,也是目前比较流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。
关于RESTful架构给你一个链接讲的挺好的:http://www.ruanyifeng.com/blog/2011/09/restful
这里我结合springMVC讲解一下RESTful在springMVC中的使用,在讲之前先来看看RESTful提倡哪些做法:
他会对url进行规范:
a) 非REST风格的url:localhost:8080/springmvc?name=小白&password=123;
b) REST风格的url:localhost:8080/springmvc/小白/123;
分析:
直观上看是不是比较简洁
看不懂:隐藏了参数名称,安全性,防止被攻击
所有的url都可以当成是资源
对http的方法进行规范
a)不管是删除,添加,更新….使用的url都是一致,那么如果需要删除,就把http的方法设置删除
b) 控制器:通过判断http的方法来执行操作(增删改查)
目前这种做法还没有被广泛采用
3.对contentType也进行规范
a) 就是在请求是指定contentType的类型(json交互中就有体现)
4.接下来看看springMVC中怎么实现RESTful风格
首先:你在请求路径上@RequestMapping(value = "/hello_rest/{name}/{password}")需要用{}来动态匹配参数
其次:方法的形参上要@PathVariable("name")来匹配上面的参数,这里@PathVariable中的字符串必须和你{}中的名字一致
访问路径:localhost:8080/工程名/hello_rest/xx/xx(其中xx就是你随便填写的内容,它会匹配到后台的name和password的值)
比如:
你输入的路径是:[b]localhost:8080/工程名/hello_rest/小白/admin[/b]
后台会匹配到:name="小白",password="admin"
/** * 1.路径的变化:/hello_rest/{name}/{password}其中{}相当于可以的参数 * 2.参数的写法:需要利用@PathVariable("name")来匹配上面的参数 * 3.至于@PathVariable后面跟的形参你就可以随便命名了 * @param username * @param password * @return */ @RequestMapping(value = "/hello_rest/{name}/{password}") public String hello_rest(@PathVariable("name") String username, @PathVariable("password") String password) { if("admin".equals(username)&"123".equals(password)){ System.out.println("登录成功"); return "hello"; } return "hello"; }
这种写法和第一种类似,只不过是把{}动态匹配参数的放到前面去了,其原理是一样的,不多说,直接看看这个访问路径的写法就好
访问路径:localhost:8080/工程名/xx/xx/hello_rest
只是把参数由后面放到前面去了而已。
/** * 1.路径的变化:/{name}/{password}/hello_rest其中{}相当于可以的参数 * 2.参数的写法:需要利用@PathVariable("name")来匹配上面的参数 * 3.至于@PathVariable后面跟的形参你就可以随便命名了 * @param username * @param password * @return */ @RequestMapping(value = "/{name}/{password}/hello_rest") public String hello_rest2(@PathVariable("name") String username, @PathVariable("password") String password) { if("admin".equals(username)&"123".equals(password)){ System.out.println("登录成功"); return "hello"; } return "hello"; }
分类: springmvc
相关文章推荐
- 使用Intellij Idea 和SpringMVC开发具有RESTful架构风格的API接口
- springmvc中的restful架构风格
- SpringMVC(十一)Restful架构风格
- restful架构风格设计准则(一)以资源为中心、自描述的请求响应、资源状态迁移为粒度
- 针对RestFul风格的PUT,DELETE请求在SpringMVC的Controller层无法接收参数的解决方案
- python3-开发进阶-RESTful 软件架构风格
- springMVC系列(七)——springMVC实现restful风格开发(post、get、put、delete)
- springMVC的restful风格
- 用SpringMVC开发RESTful风格API接口
- SpringMVC中restful风格的URL
- springmvc的基础及restful风格
- SpringMVC 构建Restful风格 及问题处理
- 搭建基于spring MVC框架 + RESTful架构风格技术总结
- SpringMVC构造RESTful及SpringMVC使用RESTful风格后对静态资源的处理
- WebService restful架构风格
- Restful风格API接口开发springMVC篇
- Restful风格API接口开发springMVC篇
- SpringMVC的RESTful风格url @PathVariable注解 使用
- Restful风格的springMVC配搭ajax请求的小例子
- 【SpringMVC】用restful风格接口写DELETE或PUT请求时遇到405错误