基于spring-boot的测试桩设计--几种常见的controller
第一种:通过@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
基于spring-boot的测试桩设计--几种常见的controller的更多相关文章
- 基于Spring Boot的统一异常处理设计
基于Spring Boot的统一异常处理设计 作者: Grey 原文地址:https://www.cnblogs.com/greyzeng/p/11733327.html Spring Boot中,支 ...
- 基于Spring Boot的在线问卷调查系统的设计与实现+论文
全部源码下载 # 基于Spring Boot的问卷调查系统 ## 介绍 > * 本项目的在线问卷调查调查系统是基于Spring Boot 开发的,采用了前后端分离模式来开发. > * 前端 ...
- 基于Spring Boot自建分布式基础应用
目前刚入职了一家公司,要求替换当前系统(单体应用)以满足每日十万单量和一定系统用户负载以及保证开发质量和效率.由我来设计一套基础架构和建设基础开发测试运维环境,github地址. 出于本公司开发现状及 ...
- step6----->往工程中添加spring boot项目------->修改pom.xml使得我的project是基于spring boot的,而非直接基于spring framework
文章内容概述: spring项目组其实有多个projects,如spring IO platform用于管理external dependencies的版本,通过定义BOM(bill of mater ...
- 基于Spring Boot、Spring Cloud、Docker的微服务系统架构实践
由于最近公司业务需要,需要搭建基于Spring Cloud的微服务系统.遍访各大搜索引擎,发现国内资料少之又少,也难怪,国内Dubbo正统治着天下.但是,一个技术总有它的瓶颈,Dubbo也有它捉襟见肘 ...
- 基于Spring Boot和Shiro的后台管理系统FEBS
FEBS是一个简单高效的后台权限管理系统.项目基础框架采用全新的Java Web开发框架 —— Spring Boot 2.0.3,消除了繁杂的XML配置,使得二次开发更为简单:数据访问层采用Myba ...
- 实战基于Spring Boot 2的WebFlux和mLab搭建反应式Web
Spring Framework 5带来了新的Reactive Stack非阻塞式Web框架:Spring WebFlux.作为与Spring MVC并行使用的Web框架,Spring WebFlux ...
- 如何基于Spring Boot搭建一个完整的项目
前言 使用Spring Boot做后台项目开发也快半年了,由于之前有过基于Spring开发的项目经验,相比之下觉得Spring Boot就是天堂,开箱即用来形容是绝不为过的.在没有接触Spring B ...
- 基于Spring Boot和Spring Cloud实现微服务架构学习
转载自:http://blog.csdn.net/enweitech/article/details/52582918 看了几周Spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习感 ...
随机推荐
- [转]WPF中的动画
WPF中的动画 周银辉 动画无疑是WP ...
- str_replace函数的使用规则和案例详解
str_replace函数的使用规则和案例详解 str_replace函数的简单调用: <?php $str = '苹果很好吃.'; //请将变量$str中的苹果替换成香蕉 $strg = st ...
- jeecms v9.3 has a stroed xss vulnerability
转载:https://blog.csdn.net/libieme/article/details/83588929 jeecms v9.3 has a stroed xss vulnerability ...
- linux查看磁盘大小,使用量等等信息
第一:统一磁盘整体情况 1.查看当前目录命令 df -h 结果: 统一每个目录下磁盘的整体情况 2.查看指定目录在命令后直接放目录名,比如查看“usr”目录使用情况: df -h /usr/结果: 统 ...
- [转载] 使用C/C++语言编写基于DSP程序的注意事项
原文地址:『转』使用C/C++语言编写基于DSP程序的注意事项作者:skysmile 1.不影响执行速度的情况下,可以使用c或c/c++语言提供的函数库,也可以自己设计函数,这样更易于使用“裁缝师 ...
- 注册.NET Framework
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe /i
- go modules
go modules官方资料:https://github.com/golang/go/wiki/Modules go版本控制发展史: Go 1.5 Release之前 使用GOPATH,包管理.项目 ...
- Vuejs实战项目步骤一
1.使用vue初始化项目 vue create msm-demo #创建项目 npm run serve #部署 2.更改public文件夹下面的index文件,只留下 <div id=&quo ...
- 跟我一起了解koa(一)
安装koa2 1.初始化package.json npm init 2.新建app.js,并且安装koa cnpm install --save koa //app.js const koa = re ...
- [Array]414. Third Maximum Number
Given a non-empty array of integers, return the third maximum number in this array. If it does not e ...