查看开发者工具然后postman模拟传参调用接口

2020-06-15  本文已影响0人  早点起床晒太阳

参考资料
https://www.jianshu.com/p/ba40da728806

前言

当我们使用开发者工具的时候,看具体某个操作调用的什么接口,传入了什么参数等信息。如果我们想在本地模拟的时候,需要postman 模拟参数然后调用接口,这时候就需要了解怎么合理的传入参数了。

1、Content-type的类型

讲传值之前,先讲下Content-type的类型

<form action="/" method="post" enctype="multipart/form-data">
  <input type="text" name="description" value="some text">
  <input type="file" name="myFile">
  <button type="submit">Submit</button>
</form>

2、request payload

参考资料:https://segmentfault.com/a/1190000018774494(写的很好,因为我现在对于这方面知识使用不多也不深,所以只泛泛说下,后续若有新的见解再补上)

Request Payload更准确的说是http request的payload body。一般用在数据通过POST请求或者PUT请求。它是HTTP请求中空行的后面那部分。(PS:这里涉及一个http常被问到的问题,http请求由哪几部分组成,一般是请求行,请求头,空行,请求体。payload body应该是对应请求体。)

区别就是,他们只是因为Content-Type设置的不同,并不是数据提交方式的不同,这两种提交都会将数据放在message-body中。但是chrome浏览器的开发者工具会根据这个ContentType区分显示方式。

3、postman传参

map和list类似 故这里直说map这一种

1、

我这边写了个测试的Controller来测试这个方法

   @RequestMapping(value = "/testPara",method = RequestMethod.POST)
    @ResponseBody
    public String testHive(@RequestBody Map<Integer,String> map) {
        for (Map.Entry<Integer, String> entry : map.entrySet()) {
            System.out.println("==========");
            System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
            System.out.println("==========");
        }
        return "sucess";
    }

这里注意:
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个

2、

打开postman,顺序执行一下3步操作即可,如图所示
1、选择请求方式,填入URL
2、切到Header,填写一对键值,key:Content-Type,value:application/json
3、切到Body,选择raw,后面选择"JSON(application/json)",内容框写Map的json串格式


image.png
image.png
上一篇 下一篇

猜你喜欢

热点阅读