如何使用 Postman 表单数据将 POST 请求发送到 Spring Boot REST API?

Posted

技术标签:

【中文标题】如何使用 Postman 表单数据将 POST 请求发送到 Spring Boot REST API?【英文标题】:How to send POST requests to a Spring Boot REST API using Postman form-data? 【发布时间】:2017-03-29 10:50:34 【问题描述】:

我正在使用 STS 尝试一个非常简单的 Spring Boot + mysql 应用程序:https://github.com/acenelio/person01

使用 raw body 发布一个新的 Person 效果很好。但是,当尝试使用表单数据发布时,我会收到 400 HttpMessageNotReadableException 或 415 HttpMediaTypeNotSupportedException 错误,具体取决于我在 Headers 上设置的 Content-type。

我在这里提供了一些 Postman 打印屏幕:https://sites.google.com/site/***nelioalves/arqs

我错过了什么?我对 Postman 和 Spring Boot 有点陌生。谢谢。

【问题讨论】:

您好,欢迎来到 ***。请花一些时间阅读帮助页面,尤其是名为"What topics can I ask about here?" 和"What types of questions should I avoid asking?" 的部分。更重要的是,请阅读the Stack Overflow question checklist。您可能还想了解Minimal, Complete, and Verifiable Examples。 【参考方案1】:

你可以使用@RequestBody注解:

@RequestMapping("/addInvestorProfile")
    public @ResponseBody Boolean addInvestorProfile(@RequestBody() InvestorProfile profile
, @RequestParam(value = "sessionId") String sessionId) 
  
            .... your content
            return true;
  

【讨论】:

【参考方案2】:

我不确定您的弹簧靴是哪个版本的。首先,当您没有将consumer 参数添加到@RequestMapping 注释时,几乎所有spring mvcspring boot 控制器方法都将接受所有请求内容类型。所以,也许邮递员有一些错误的用法。我很好地使用弹簧靴和邮递员。

尝试通过复制请求来比较邮递员的行为curl

通常发布请求使用curl 看起来像: curl -XPOST UrlOfYourSpringBootEndPoint -d'body of your post' curl here的更多细节。

【讨论】:

以上是关于如何使用 Postman 表单数据将 POST 请求发送到 Spring Boot REST API?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 html 表单发布请求翻译成 Postman

Yii REST POST 在 POSTMAN 中不工作,但在框架中工作

postman怎么发送post请求

post接口每次一条

postman模拟post请求的几种请求体

POSTMAN 中的 POST 请求发送的参数始终未定义为 express 中的值