利用PostMan工具 ---post请求发送Json数据 踩坑记录

在我们平时开发中,特别是需要与接口打交道时,无论是写接口还是用接口,拿到接口后肯定都得提前测试一下,这样的话就非常需要有一个比较给力的Http请求模拟工具PostMan.

post请求发送Json数据

写接口用这个真的好用, 调试简直不要太爽!
传json到后台,用post方式,好处直接可以传一些复杂结构的数据, 通过spring的@RequestBody直接获取出对应的bean.

postman需要准备的:
1. 选post请求
2. Headers中添加 key: Content-Type value:application/json
3. Body中选raw, JSON(application/json)
4. 文本框中写入json参数, 简单的我不列了,列个有嵌套关系的json串

{
    "name":"小明",
    "age": 18,
    "scores": [
        {"score": 99, "type":1},
        {"score": 77, "type":2}
    ]
}

这就相当于给后台传了一个字符串


java可以这样接参数

@PostMapping("/save")
public Student save(@RequestBody Student student)

如果不用@RequsetBody注解,那就要写方法从流中读取参数

public static String getRequestBody(HttpServletRequest req) throws IOException {
    BufferedReader reader = req.getReader();
    String input = null;
    StringBuffer requestBody = new StringBuffer();
    while((input = reader.readLine()) != null) {
        requestBody.append(input);
    }
    return requestBody.toString();
}

当然返回的是字符串,如果需要转换成bean, 需要自己手动转换,用JsonObject之类。

注意:别用requset.getParamter 去接参数,接不到的,因为json串在requset的body中。


暂时写到这, 如果再有PostMan工具的使用中的踩坑会再记录下来

  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Postman中使用Pre-request Script发送前置请求的步骤如下: 1. 打开Postman,选择一个请求,在请求的“Pre-request Script”标签下编写JavaScript代码。 2. 在Pre-request Script中使用`pm.sendRequest()`方法发送前置请求,将响应结果保存到环境变量或全局变量中。 3. 在测试请求中使用环境变量或全局变量,即可获取前置请求的结果。 下面是一个示例: 假设我们有一个API `/users`,需要在请求之前先获取所有用户的ID,然后再根据ID获取用户的详细信息。我们可以使用Pre-request Script发送前置请求,获取用户ID,并将其保存到环境变量中。然后在测试请求中,使用环境变量来获取用户详细信息。 Pre-request Script: ``` pm.sendRequest({url: 'https://example.com/api/users', method: 'GET'}, function (err, res) { if (err) { console.log(err); } else { var userIds = JSON.parse(res.body).map(function(user) { return user.id; }); pm.environment.set('userIds', userIds); } }); ``` 这个例子中,我们发送了一个GET请求到`https://example.com/api/users`,获取所有用户的信息。然后将每个用户的ID保存到一个数组中,并将这个数组保存到了环境变量`userIds`中。 测试请求: ``` // 获取第一个用户的详细信息 var userId = pm.environment.get('userIds')[0]; pm.sendRequest({url: 'https://example.com/api/users/' + userId, method: 'GET'}, function (err, res) { if (err) { console.log(err); } else { console.log(res.body); } }); ``` 这个例子中,我们从环境变量`userIds`中获取第一个用户的ID,并使用这个ID发送了一个GET请求到`https://example.com/api/users/:id`,获取该用户的详细信息。最后将响应结果打印到了控制台中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值