【问题标题】:How to handle post request with both query parameters and xml file如何使用查询参数和 xml 文件处理 post 请求
【发布时间】:2018-03-08 05:45:11
【问题描述】:

我正在使用 Spring Boot 开发 Web API。我希望其中一个 API 使用 xml 文件和一些附加参数来处理 POST 请求。如果只是 xml,我可以将 content-type 设置为application/xml。如果它只是几个参数,我可以使用application/x-www-form-urlencoded 类型执行param1=value1&param2=value2。但是,如何同时使用一个端点处理这两种类型?

【问题讨论】:

  • 不确定这是否是您所要求的,但您可以将参数放入端点的查询部分,或使用多部分内容类型,例如参见 stackoverflow.com/questions/9081079/…。我觉得应该考虑设计更改。
  • @FrantišekŽiačik 您建议我如何更改设计?参数来自发送请求的设备,例如手机的mac地址。该文件是从移动应用程序生成的。我认为将两者结合起来并不容易。
  • 取决于用例。在您的情况下,在我看来,只需使用 xml 内容类型并将参数放在 url 中就足够了。它应该可以正常工作。

标签: xml rest api spring-boot httprequest


【解决方案1】:

是的,您可以处理一个端点。只需在您的方法中指定正确的内容类型即可。

既然你标记了sprint-boot,我假设你使用的是Spring MVC?如果是,请在RequestMapping 上指定正确的consumes

【讨论】:

  • 如果我将内容类型指定为“application/xml”,它会忽略查询参数,对吧?
  • 没有。无论内容类型如何,请求都可以在 url 上具有查询参数。如果您使用application/x-www-form-urlencoded,这基本上意味着您在正文中有查询参数,您也可以在 url 上使用它们。
猜你喜欢
  • 2018-11-19
  • 2023-01-18
  • 2023-02-10
  • 1970-01-01
  • 2021-11-12
  • 1970-01-01
  • 2015-08-13
  • 1970-01-01
相关资源
最近更新 更多