使用@ResponseBody测试GET请求

在使用postman测试GET请求时,
大多是直接在url内传递参数,类似于这样

http://localhost:8080/Accounts/AccountsByName?account_name=chen

而我不想在url中暴露参数,于是就查了很多文章,发现他们都是用url传递参数
所幸自己后来瞎猫碰死耗摸索清楚了,在此做个总结.

@RequestBody简介:
这个注解用于读取请求的body内的数据,进行解析,然后把数据绑定到对象上.
可用于GET和POST请求.

举个例子
1)我的controller:

//根据账户名查询用户 
    @RequestMapping(value = "Accounts/AccountsByName",method = RequestMethod.GET)
    @ResponseBody
    public String accountBN(@RequestBody Account account){
        String name = account.getAccount_name();
        log.error("传进来的对象:"+account);
        log.error("对象的账户名:"+name);
        List<Account> accountList = accountService.findByName(name);
        log.error(accountList);
        return "status: "+"200\r"+
                "message: "+"success\r"+
                "data: "+accountList;
    }

2)用postman测试:
输入url
在这里插入图片描述
选择用json传输数据
使用@ResponseBody测试GET请求_第1张图片
body内输入

{
	"account_name":"陈"
}

点击send,结果如下:
使用@ResponseBody测试GET请求_第2张图片
也可以这样写:

//根据账户名查询用户 
    @RequestMapping(value = "Accounts/AccountsByName",method = RequestMethod.GET)
    @ResponseBody
    public String accountBN(@RequestBody String account_name){
        String name = account.getAccount_name();
        log.error("传进来的对象:"+account);
        log.error("对象的账户名:"+name);
        List<Account> accountList = accountService.findByName(name);
        log.error(accountList);
        return "status: "+"200\r"+
                "message: "+"success\r"+
                "data: "+accountList;
    }

以String account_name作为入参,postman的body内就可以直接写数值:
使用@ResponseBody测试GET请求_第3张图片
点击sent发送请求:
使用@ResponseBody测试GET请求_第4张图片

你可能感兴趣的:(javaWeb)