使用@RequestBody将请求体映射到Action方法参数中

1     @PostMapping("/user")
2     public User create(@RequestBody User user){
3         System.out.println(user.toString());
4         user.setId(5l);
5         return user;
6     }
1     @Test
2     public void whenCreateSuccess() throws Exception {
3         String content = "{\"username\":\"fanqi\",\"password\":\"admin\",\"enabled\":\"1\"}";
4         mockMvc.perform(MockMvcRequestBuilders.post("/user")
5                 .contentType(MediaType.APPLICATION_JSON_UTF8)
6                 .content(content))
7                 .andExpect(status().isOk())
8                 .andExpect(jsonPath("$.id").exists());
9     }

原文地址:https://www.cnblogs.com/fanqisoft/p/10600045.html

时间: 2024-11-05 21:47:26

使用@RequestBody将请求体映射到Action方法参数中的相关文章

MVC – 6.Controller Action方法参数与返回值

6.1 Controller接收浏览器数据 a.获取Get数据 : a1:获取路由url中配置好的制定参数: 如配置好的路由: 浏览器请求路径为: /User/Modify/1 ,MVC框架获取请求后,就会找到匹配的路由映射路径url,得知是请求的控制器类 User里的Modify方法,此时就会检查此方法是否包含一个名为 id 的参数,如果有,按照配置的url 获取"参数"{id},并传给此方法. a2.直接通过请求上下文对象里的 Request获取url ?后的的参数: 浏览器请求路

spring boot aop打印http请求回复日志包含请求体

一.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>

body-parser Node.js(Express) HTTP请求体解析中间件

body-parser Node.js(Express) HTTP请求体解析中间件 2016年06月08日     781     声明 在HTTP请求中,POST.PUT和PATCH三种请求方法中包含请求体,Node.js 原生HTTP模块中,请求体要基于流的方式接收和解析.body-parser是一个HTTP请求体解析中间件,使用这个模块可以解析JSON.Raw.文本.URL-encoded格式的请求体,Express框架中就是使用这个模块做为请求体解析中间件. 请求体解析 1.1 原生环境

Action 方法的执行(一)

[toc] 在 Aps.net mvc 应用中对请求的处理最终都是转换为对某个 Controller 中的某个 Action 方法的调用,因此,要对一个请求进行处理,第一步,需要根据请求解析出对应的 Controller 和 Action 的名称,这是 Asp.net mvc 中的路由 的职责所在,第二步,需要根据第一步解析出来的内容定位对请求进行处理的 Action 方法所属的 Controller 类型,定位的过程称为 Asp.net mvc 中 Controller 的激活,第三步,就是根

ElasticSearch(七)--请求体查询

简单查询lite search (字符串查询)是一种有效的命令行ad hoc 查询,但是想要善用搜索,必须使用请求体查询request  body search API.之所以这么称呼,是因为大多数的参数以JSON格式所容纳,而不是查询字符串. 请求体查询不但可以处理查询,而且还可以高亮返回结果中的片段. 1.空查询 GET _search {} 同字符串查询一样,你可以查询一个,或多个索引及类型 GET /index_2014*/type1,type2/_search {} 也可以使用from

springboot请求体中的流只能读取一次的问题

场景交代 在springboot中添加拦截器进行权限拦截时,需要获取请求参数进行验证.当参数在url后面时(queryString)获取参数进行验证之后程序正常运行.但是,当请求参数在请求体中的时候,通过流的方式将请求体取出参数进行验证之后,发现后续流程抛出错误: Required request body is missing ... 经过排查,发现ServletInputStream的流只能读取一次(参考:httpServletRequest中的流只能读取一次的原因). 这就是为什么在拦截器

SpringCloud Gateway获取post请求体(request body)

获取spring cloud gateway POST请求体的时候,会有很多坑,网上大多数解决方案是 /** 这种方法在spring-boot-starter-parent 2.0.6.RELEASE + Spring Cloud Finchley.SR2 body 中生效, 但是在spring-boot-starter-parent 2.1.0.RELEASE + Spring Cloud Greenwich.M3 body 中不生效,总是为空 */ private String resolv

EasyUI queryParams属性 在请求远程数据同时给action方法传参

http://www.cnblogs.com/iack/p/3530500.html?utm_source=tuicool EasyUI queryParams属性 在请求远程数据同时给action方法传参 属性名 属性值类型 描述 默认值 queryParams object 在请求远程数据的时候发送额外的参数. 代码示例: $('#dg').datagrid({ queryParams: { name: 'easyui', subject: 'datagrid' } }); {} Actio

在Struts2的Action中取得请求参数值的几种方法

把参数放到作用域里面去. 如:action 中: request.setAttribute("参数名","值");   页面上:  request.getAttribute("参数名"); request.getParameter()方法完全可以获得URL参数,检查下是否参数名写错 你使用的是不是BaseAction.如果就是server.getRequest().getParameter() 看看你的控件是不是 name 属性!如果id的话就获