postman之raw的各种数据类型写法

主讲raw参数类型怎么写

版本是7.3以后的

准备

@Data
public class User {
    private String name;
    private Integer age;
    private List<Integer> intList;
    private List<String> stringList;
    private Address address;
    private List<Address> addressList;
}
@Data
public class Address {
    private String addressName;
}

@RequestBody

全部为post请求

案例一:String

@PostMapping("1")
public void fdf(@RequestBody String name) {
System.out.println(name);
}

直接把字符串写上

案例二:对象

情况一:对象属性无List属性或属性是另一个对象的情况

@Data
public class User {
    private String name;
    private Integer age;}
@PostMapping("2")
public void fsdfdsf(@RequestBody User user) {
System.out.println(user.toString());
}
 

情况二:属性存在List

@Data
public class User {
    private String name;
    private Integer age;
    private List<Integer> intList;
    private List<String> stringList;}
@PostMapping("2")
public void fsdfdsf(@RequestBody User user) {
    System.out.println(user.toString());
    System.out.println(user.getIntList());
}

 

情况三:属性为一个对象时

@Data
public class User {
private String name;
private Integer age;
private List<Integer> intList;
private List<String> stringList;
private Address address;

}
@Data
public class Address {
    private String addressName;
}
@PostMapping("3")
public void fsdsf(@RequestBody User user) {
    System.out.println(user.getAddress().toString());
}

 

情况四:属性为对象List时

@Data
public class User {
    private String name;
    private Integer age;
    private List<Integer> intList;
    private List<String> stringList;
    private Address address;
    private List<Address> addressList;
}
@Data
public class Address {
    private String addressName;
}
@PostMapping("4")
public void fs4dsf(@RequestBody User user) {
    System.out.println(user.getAddressList());
}

 

{

 "name":"hello",

 "age": 18,

 "intList":[1,2,3,4,5,6],

 "stringList":["a","b","c","d"],

 "address":{

  "addressName":"word"

 },

 "addressList":[{"addressName":"hello"},{"addressName":"word"},{"addressName":"my name is Liang"}]

}

实例三:List

@PostMapping("5")
public void fs4d8sf(@RequestBody List<String> list) {
    System.out.println(list);
}
["hello","word","my name is Liang"]
 

实例四:List<User>

@Data
public class User {
    private String name;
    private Integer age;
    private List<Integer> intList;
    private List<String> stringList;
    private Address address;
    private List<Address> addressList;
}
@Data
public class Address {
    private String addressName;
}
@PostMapping("6")
public void fs48d8sf(@RequestBody List<User> userList) {
    System.out.println(userList);
}
 

[

    {

        "name":"hello",

        "age": 18,

        "intList":[1,2,3,4,5,6],

        "stringList":["a","b","c","d"],

        "address":{

            "addressName":"word"

         },

        "addressList":[{"addressName":"hello"},{"addressName":"word"},{"addressName":"my name is Liang"}]

    },

    {

        "name":"hello",

        "age": 18,

        "intList":[1,2,3,4,5,6],

        "stringList":["a","b","c","d"],

        "address":{

            "addressName":"word"

         },

        "addressList":[{"addressName":"hello"},{"addressName":"word"},{"addressName":"my name is Liang"}]

    }

]

实例五:参数为一个对象,一个字符串, raw参数类型应该怎么写?

或许有些人想要像下面那样子写,但是会报错:

    @PostMapping("test")
    public String add(@RequestBody SysUser sysUser, @RequestBody String name) {
        return "";
    }

正确的处理方式是新建一个DTO来接收参数。

@Data
public class SysUser {
    private String username;
}

SysUserDTO:

@Data
public class SysUserDTO extends SysUser {
    private String name;
}

最后的写法:

    @PostMapping("test")
    public String add(@RequestBody SysUserDTO sysUserDTO) {
        return "";
    }

结语

@RequestParam时不适用

  • 14
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值