SpringMVC RESTful总结之GET请求
2015-12-28 21:32
701 查看
SpringMVC RESTful用法灵活,使用方便,介绍几中GET请求方法:
1,使用@PathVariable
2,另一种占位符用法
以上两种参数映射均为URL中带有占位符的用法,传统的带有参数的GET请求的写法如下:
总结起来其实就两种写法,一种是带有占位符的参数映射方法,此时需要用到注解@PathVariable。另一种为传统的写法,用到@RequestParam注解。
1,使用@PathVariable
package com.zws.user.controller.rest; import java.io.UnsupportedEncodingException; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.zws.user.beans.User; import com.zws.utils.GsonUtil; @Controller @RequestMapping("/rest/user") public class UserRestController { @RequestMapping(value="/getUserById0/{id}-{name}",method=RequestMethod.GET) public @ResponseBody String getUserById0(@PathVariable Long id, @PathVariable("name") String userName) { User user = new User(); user.setUserName(userName); user.setId(id); return GsonUtil.toJson(user); } }通过使用注解@PathVariable可以将URL中的占位符参数映射到处理方法的入参,注解@PathVariable接受一个可选的字符串类型的参数用于指定哪个占位符映射到方法的哪个参,在以上例子中@PathVariable("name") String userName指定名称为name的占位符参数映射到userName参数,例如如下URL:
http://127.0.0.1:8080/SpringMVCHibernate4/rest/user/getUserById0/100-张三则将100映射到id,张三映射到userName。
2,另一种占位符用法
@RequestMapping(value="/{id}-{name}",method=RequestMethod.GET) public @ResponseBody String getUserById1(@PathVariable Long id, @PathVariable("name") String userName) { User user = new User(); user.setUserName(userName); user.setId(id); return GsonUtil.toJson(user); }这种写法同样可以达到与方法1相同的映射效果,示例URL:
http://127.0.0.1:8080/SpringMVCHibernate4/rest/user/100-张三3,使用@RequestParam
以上两种参数映射均为URL中带有占位符的用法,传统的带有参数的GET请求的写法如下:
@RequestMapping(value="/getUserById2",method=RequestMethod.GET) public @ResponseBody String getUserById2(@RequestParam Long id, @RequestParam("name") String userName){ User user = new User(); user.setUserName(userName); user.setId(id); return GsonUtil.toJson(user); }区别于以上两种参数映射写法,这里用到了@RequestParam注解,此注解用于映射URL中?后面的参数,例如:
http://127.0.0.1:8080/SpringMVCHibernate4/rest/user/getUserById2?id=100&name=张三则可将100映射到id,张三映射到userName。
总结起来其实就两种写法,一种是带有占位符的参数映射方法,此时需要用到注解@PathVariable。另一种为传统的写法,用到@RequestParam注解。
相关文章推荐
- GET和post取值限制区别分析
- 深入C#中get与set的详解
- POST与GET方法的区别简要分析
- VB使用XMLHTTP实现Post与Get的方法
- 分享下GET和POST的真正区别
- ASP.NET的HtmlForm控件学习及Post与Get的区别概述
- asp教程中get post提交表单有5点区别
- 区分ASP.NET中get方法和post方法
- php下通过POST还是GET来传值
- jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
- ajax请求get与post的区别总结
- Jquery AJAX POST与GET之间的区别
- jquery中常用的SET和GET
- jQuery中get和post方法传值测试及注意事项
- ajax请求post和get的区别以及get post的选择
- jQuery中ajax - get() 方法实例详解
- JSP、Servlet中get请求和post请求的区别总结
- 深入理解curl类,可用于模拟get,post和curl下载
- jq的get传参数在utf-8中乱码问题的解决php版
- GET 方式提交的含有特殊字符的参数