博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springMVC的@RequestBody注解使用
阅读量:5911 次
发布时间:2019-06-19

本文共 1698 字,大约阅读时间需要 5 分钟。

 如果没有特殊的设置,无论用什么样的http请求方法,只要携带body参数,用@RequestBody都是可以获取到body的内容的

 参数是json字符串格式,使用方式有两种

 @RequestBody只有一个属性,required默认等于true,如果不设置required属性,就默认必须传body体,否则会报400错误,如果注解了对象(注解字符串变量不会),设置了body体,但是没有设置header或者设置了header:content-type!=application/json ,会报415错误

 第一种:使用@RequestBody注解一个字符串变量

@Controller @RequestMapping("/springmvc/test/RequestBody") public class RequestBodyTestController {
@RequestMapping(value="/test3")    @ResponseBody    public Result testBody3(@RequestBody(required=false) String person){        if(person==null){            return  Result.success("testBody3 test pass,person="+person);        }else {            JSONObject jsonObject = JSONObject.parseObject(person);            return Result.success("testBody3 test pass,username=" + jsonObject.getString("name"));        }    } }

 

第二种:使用@RequestBody注解一个对象,请求的时候记得设置header:content-type=application/json ,否则会报415错误,而且json字符串中的参数名要跟对象的属性名相同才能取到值

//定义一个Person类 public class Person{    private int id;    private String name;     public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }        public int getId(){         return id;     }    public void setId(int id){         this.id=id    }}
@Controller @RequestMapping("/springmvc/test/RequestBody") public class RequestBodyTestController {
@RequestMapping(value="/test1") @ResponseBody
public Result testBody1(@RequestBody Person person){
if(person==null){
return Result.success("test1 test pass,person="+person); }else {
return Result.success("test1 test pass,id="+person.getId()+",username=" + person.getName()); } } }
 

 

转载于:https://www.cnblogs.com/zhaijing/p/10337481.html

你可能感兴趣的文章
函数式 Java 到函数式 Kotlin 的转换
查看>>
30 天精通 RxJS(18): Observable Operators - switchMap, mergeMap, concatMap
查看>>
Swift Collection 中的 lazy 作用
查看>>
泛型的应用
查看>>
Spring系列之手写一个SpringMVC
查看>>
基于webpack的几种静态资源的引入方案
查看>>
5G来之前,视频UGC选择产品解决方案?
查看>>
全栈测试实战:用Jest测试Vue+Koa全栈应用
查看>>
陈杰:无服务器架构,让云端开发更纯粹
查看>>
SOFATracer 中 Disruptor 实践
查看>>
IE安全系列之——昨日黄花:IE中的ActiveX(I)
查看>>
面试必问的volatile,你了解多少?
查看>>
在线小工具推荐
查看>>
浅谈RxJava
查看>>
一张图读懂数据库备份
查看>>
android studio 3.0 Ndk 开发- 利用增量更新进行 apk的覆盖安装
查看>>
Python数据分析笔记:聚类算法之K均值
查看>>
新CSS伪类:focus-within
查看>>
Flutter redux 进阶
查看>>
SQL优化笔记
查看>>