第一种:通过@RequestBody,直接将请求体映射到对象

 //@RequestBody
@RequestMapping(value = "addUser", method = {RequestMethod.GET, RequestMethod.POST})
public @ResponseBody
String addUser(HttpServletRequest request, @RequestBody User user) {
logger.debug(request.getRemoteAddr());
return userServices.addUser(user);
}

请求:

响应:

第二种:通过@RequestBody,获取请求头部字段

 //@RequestHeader
@RequestMapping(value = "addUser/header", method = {RequestMethod.GET, RequestMethod.POST})
public @ResponseBody
String addUser_header(HttpServletRequest request, @RequestBody User user,@RequestHeader("Accept-Encoding") String encoding,@RequestHeader("Content-Type") String type) {
logger.debug(request.getRemoteAddr());
logger.debug("Accept-Encoding:{}",encoding);
logger.debug("Content-Type:{}",type);
return userServices.addUser(user);
}

日志:

第三种:通过@PathVariable,获取url template 里的参数

 //@PathVariable
@RequestMapping(value = "addUser/{name}/{age}", method = {RequestMethod.GET, RequestMethod.POST})
public @ResponseBody
String addUser_path(HttpServletRequest request, @PathVariable("name") String name, @PathVariable("age") String age) {
logger.debug(request.getRemoteAddr());
User user = new User();
user.setAge(age);
user.setName(name);
return userServices.addUser(user);
}

请求:

响应:

第四种:通过@RequestParam,获取请求参数。(注意,请求头部中的Content-Type一定是application/x-www-form-urlencoded)


 //@RequestParam
@RequestMapping(value = "addUser_param", method = {RequestMethod.GET, RequestMethod.POST})
public @ResponseBody
String addUser_params(HttpServletRequest request, @RequestParam("name") String name, @RequestParam("age") String age) {
logger.debug(request.getRemoteAddr());
User user2 = new User();
user2.setAge(age);
user2.setName(name);
return userServices.addUser(user2);
}

请求1:post请求(parameter)

请求2:post请求(body)

请求3:get请求(post也可以)

源码地址:

https://github.com/yuesest/mockdemo

												

最新文章

  1. 【原创】【2015最新】微信公众平台开发手把手入门之一:缘起微信公众号(PHP,MYSQL, BAE)
  2. C++编程思想重点笔记(下)
  3. Unit testing Cmockery 简单使用
  4. [Objective-c 基础 - 2.5] .h和.m文件,点语法,成员变量作用域
  5. eclipse安装插件的方法,以python为例子
  6. 1003: A Bug
  7. 【python】bytearray和string之间转换,用在需要处理二进制文件和数据流上
  8. Basic DataList
  9. Dynamic CRM 2013 on Windows Azure VM
  10. 问题:FF中把UL下的LI设为左浮动UL的背景色就没有了?
  11. css过渡模块和2d转换模块
  12. java 中对对象的调用
  13. JavaScript 递归
  14. 微信小程序-参数传递与事件处理
  15. Hive 执行作业时报错 [ Diagnostics: File file:/ *** reduce.xml does not exist FileNotFoundException: File file:/ ]
  16. Flume配置Replicating Channel Selector
  17. swift便利构造函数
  18. 如何将自定义的搜索参数便捷的添加到js方式的bootstrap table的参数中
  19. Linux之Ubuntu与Windows更改默认启动顺序[转载]
  20. c# json转换成dynamic对象,然后在dynamic对象中动态获取指定字符串列表中的值

热门文章

  1. pdftk
  2. IE6下extjs 弹窗不加载内容(无法执行内部js)的解决方案
  3. fastjson循环引用 问题@ManyToOne @OneToOne返回数据中"$ref"问题
  4. Java 线程池 +生产者消费者+MySQL读取300 万条数据
  5. redis学习笔记04-事务
  6. Python学习之函数(多层函数)、re模块的正则匹配--计算复杂加减乘除
  7. It\'s A Good Day To Die
  8. 几个树形dp
  9. 多机MySQL一主双从详细安装主从复制
  10. 关于python的字典操作