spring requestmapping produce consume
来源:互联网 发布:js 分享 编辑:程序博客网 时间:2024/06/06 05:20
转自:http://jackyrong.iteye.com/blog/1899913点击打开链接
这次继续复习spring mvc中的@requestmapping;
1) 普通path路径
- @RequestMapping(value = "/foos")
- @ResponseBody
- public String getFoosBySimplePath() {
- return "Get some Foos";
- }
然后尝试用curl请求下
curl -i http://localhost:8080/spring-mvc/foos
2) 指定RequestMethod.POST
- @RequestMapping(value = "/foos", method = RequestMethod.POST)
- @ResponseBody
- public String postFoos() {
- return "Post some Foos";
- }
curl i -X POST http://localhost:8080/spring-mvc/foos
3) 指定http请求头
- @RequestMapping(value = "/foos", headers = "key=val")
- @ResponseBody
- public String getFoosWithHeader() {
- return "Get some Foos with Header";
- }
其中在headers可以跟多个了,如:
- @RequestMapping(value = "/foos", headers = { "key1=val1", "key2=val2" })
- @ResponseBody
- public String getFoosWithHeaders() {
- return "Get some Foos with Header";
- }
注意curl的请求为:
curl -i -H "key:val" http://localhost:8080/spring-mvc/foos
4)@RequestMapping中的新的product和consume.
在spring 3.0中,可以指定请求头的media格式,如:
- @RequestMapping(value = "/foos", method = RequestMethod.GET, headers = "Accept=application/json")
- @ResponseBody
- public String getFoosAsJsonFromBrowser() {
- return "Get some Foos with Header Old";
- }
curl测试:
curl -H "Accept:application/json,text/html" http://localhost:8080/spring-mvc/foos
如果在3.1中,则有新的 produces和consume的属性了,如:
- @RequestMapping(value = "/foos", method = RequestMethod.GET, produces = "application/json")
- @ResponseBody
- public String getFoosAsJsonFromREST() {
- return "Get some Foos with Header New";
- }
如果用3.1,但依然用旧的方式,则旧的方式的请求都会自动变成produces和consume了;
@RequestMapping(value="/testMsgConverter",consumes="text/plain",produces="application/json")
表示handlermethod接受的请求的header中的 Content-Type为text/plain;
Accept为application/json
5) @PathVariable
1 单一的
- @RequestMapping(value = "/foos/{id}")
- @ResponseBody
- public String getFoosBySimplePathWithPathVariable(@PathVariable("id") long id) {
- return "Get a specific Foo with id=" + id;
- }
测试:curl http://localhost:8080/spring-mvc/foos/1
2 多个
- @RequestMapping(value = "/foos/{fooid}/bar/{barid}")
- @ResponseBody
- public String getFoosBySimplePathWithPathVariables(@PathVariable long fooid, @PathVariable long barid) {
- return "Get a specific Bar with id=" + barid + " from a Foo with id=" + fooid;
- }
curl http://localhost:8080/spring-mvc/foos/1/bar/2
3 也支持正则表达式
- @RequestMapping(value = "/bars/{numericId:[\\d]+}")
- @ResponseBody
- public String getBarsBySimplePathWithPathVariable(@PathVariable final long numericId) {
- return "Get a specific Bar with id=" + numericId;
- }
则参数只接受数字了
6) requestparam
- http://localhost:8080/spring-mvc/bars?id=100
- @RequestMapping(value = "/bars")
- @ResponseBody
- public String getBarBySimplePathWithRequestParam(@RequestParam("id") long id) {
- return "Get a specific Bar with id=" + id;
- }
- @RequestMapping(value = "/bars", params = "id")
- @ResponseBody
- public String getBarBySimplePathWithExplicitRequestParam(@RequestParam("id") long id) {
- return "Get a specific Bar with id=" + id;
- }
7) RequestMapping支持多个映射路径映射到同一个controller,如:
- @RequestMapping(value = { "/advanced/bars", "/advanced/foos" })
- @ResponseBody
- public String getFoosOrBarsByPath() {
- return "Advanced - Get some Foos or Bars";
- }
curl -i http://localhost:8080/spring-mvc/advanced/foos
curl -i http://localhost:8080/spring-mvc/advanced/bars
甚至还支持put,post同时请求,如:
- @RequestMapping(value = "/foos/multiple", method = { RequestMethod.PUT, RequestMethod.POST })
- @ResponseBody
- public String putAndPostFoos() {
- return "Advanced - PUT and POST within single method";
- }
curl -i -X POST http://localhost:8080/spring-mvc/foos/multiple
curl -i -X PUT http://localhost:8080/spring-mvc/foos/multiple
阅读全文
0 0
- spring requestmapping produce consume
- consume
- Spring @RequestMapping
- Spring RequestMapping
- Spring @RequestMapping
- Spring 的MVC @RequestMapping
- Spring 的MVC @RequestMapping
- Spring 注解--@RequestMapping
- spring Requestmapping标签介绍
- Spring @RequestMapping @RequestParam
- Spring @RequestMapping的用法
- Spring Mvc @RequestMapping 详解
- Spring RequestMapping 注解介绍
- Spring MVC4 @RequestMapping
- spring @RequestMapping参数详解
- Spring注释(二) @RequestMapping
- spring @RequestMapping 问题
- Spring MVC @RequestMapping
- rainyday.js 下雨效果插件使用方法
- Hdu-6071 Lazy Running(trick最短路)
- Access导入MDB文件
- HTML5_表单的补充、浮动框架、谷歌专用标签、高亮标签
- centos下的中文分词coreseek-4.1的编译安装与基本配置
- spring requestmapping produce consume
- Centos7 编译安装mysql5.6
- 全景图的各种制作方法~~
- Face The Right Way POJ
- 教你将CAD转成PDF黑白色
- bzoj1616 [Usaco2008 Mar]Cow Travelling游荡的奶牛(dp)
- 小错误
- VUE 开发总结笔记
- android 页面底部弹出菜单(dialog)