【问题标题】:How to pass data to API though Postman?如何通过 Postman 将数据传递给 API?
【发布时间】:2019-06-22 07:57:43
【问题描述】:

我有一个rest api方法如下:-

@RequestMapping(value = "/something", method = RequestMethod.POST)
public Object getSomething( @RequestParam String userEmail,Date valid_from, Date valid_till, HttpServletResponse initResponse) {
    //Some functionality inside
}

我想通过邮递员测试 API。 我试过了:-

http://localhost:8080/something?userEmail="xyz@xyz.com"

但这只会在 userEmail 字段中设置数据。 如何设置valid_from、valid_till和initResponse的值?

【问题讨论】:

    标签: spring rest spring-boot spring-mvc


    【解决方案1】:

    您可以使用@DateTimeFormat配置Date请求参数的格式,然后它会根据该格式将请求参数解析为DateJava对象。

    例如:

    @RequestMapping(value = "/something", method = RequestMethod.GET)
    public Object getSomething(@RequestParam String userEmail ,
     @RequestParam @DateTimeFormat(pattern="yyyyMMdd") Date valid_from, 
     @RequestParam @DateTimeFormat(pattern="yyyyMMdd") Date valid_till, 
     HttpServletResponse initResponse) {
        //Some functionality inside
    }
    

    然后在Postman,发送请求:

    http://localhost:8080/something?userEmail=xyz@xyz.com&valid_from=20190601&valid_till=20190630
    

    还有一件事,我会使用 GET 而不是 POST 作为只读 API

    【讨论】:

    • 我希望我可以更改 API。它已经是一个内置的 rest API,我必须使用它并从中获取一些数据。这就是为什么我试图弄清楚如何设置这些日期并将其与邮递员中的链接 URL 一起发送。
    • 明白了,所以我建议你编辑你的问题来提及这个关于API不能改变的要求。
    【解决方案2】:

    首先更改 URL Mapping 应该是这样的:

    http://localhost:8080/parent_Mapping/child_mapping

    然后转到 Postman 并发送 API 请求,其中的主体具有 JSON 主体,如下图所示:

    现在为了检查你在 http 请求中得到了什么,试着打印你从邮递员那里得到的字符串。作为

        public Object getSomething( @RequestParam String userEmail,Date valid_from, Date valid_till, HttpServletResponse initResponse) {
        System.out.println(userEmail);
    }
    

    【讨论】:

    猜你喜欢
    • 2021-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    • 2023-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多