基于spring-boot的测试桩设计--几种常见的controller
2024-09-06 12:36:47
第一种:通过@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
最新文章
- 【原创】【2015最新】微信公众平台开发手把手入门之一:缘起微信公众号(PHP,MYSQL, BAE)
- C++编程思想重点笔记(下)
- Unit testing Cmockery 简单使用
- [Objective-c 基础 - 2.5] .h和.m文件,点语法,成员变量作用域
- eclipse安装插件的方法,以python为例子
- 1003: A Bug
- 【python】bytearray和string之间转换,用在需要处理二进制文件和数据流上
- Basic DataList
- Dynamic CRM 2013 on Windows Azure VM
- 问题:FF中把UL下的LI设为左浮动UL的背景色就没有了?
- css过渡模块和2d转换模块
- java 中对对象的调用
- JavaScript 递归
- 微信小程序-参数传递与事件处理
- Hive 执行作业时报错 [ Diagnostics: File file:/ *** reduce.xml does not exist FileNotFoundException: File file:/ ]
- Flume配置Replicating Channel Selector
- swift便利构造函数
- 如何将自定义的搜索参数便捷的添加到js方式的bootstrap table的参数中
- Linux之Ubuntu与Windows更改默认启动顺序[转载]
- c# json转换成dynamic对象,然后在dynamic对象中动态获取指定字符串列表中的值
热门文章
- pdftk
- IE6下extjs 弹窗不加载内容(无法执行内部js)的解决方案
- fastjson循环引用 问题@ManyToOne @OneToOne返回数据中";$ref";问题
- Java 线程池 +生产者消费者+MySQL读取300 万条数据
- redis学习笔记04-事务
- Python学习之函数(多层函数)、re模块的正则匹配--计算复杂加减乘除
- It\'s A Good Day To Die
- 几个树形dp
- 多机MySQL一主双从详细安装主从复制
- 关于python的字典操作