gpt4 book ai didi

java - 内容类型为 application/x-www-form-urlencoded 的 Http Post 请求在 Spring 中不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:02:54 25 4
gpt4 key购买 nike

我是 spring 的新手,目前正在尝试做 HTTP POST 请求应用程序/x-www-form-url 编码,但是当我将它保存在我的 header 中时,spring 无法识别它并说 415 不支持的媒体类型对于 x-www-form-urlencoded

org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded' not supported

谁知道怎么解决?请评论我。

我的 Controller 的一个例子是:

@RequestMapping(
value = "/patientdetails",
method = RequestMethod.POST,
headers="Accept=application/x-www-form-urlencoded")
public @ResponseBody List<PatientProfileDto> getPatientDetails(
@RequestBody PatientProfileDto name
) {
List<PatientProfileDto> list = new ArrayList<PatientProfileDto>();
list = service.getPatient(name);
return list;
}

最佳答案

问题是,当我们使用application/x-www-form-urlencoded 时,Spring 不将其理解为RequestBody。所以,如果我们想使用这个我们必须删除 @RequestBody 注释。

然后尝试以下操作:

@RequestMapping(value = "/patientdetails", method = RequestMethod.POST,consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public @ResponseBody List<PatientProfileDto> getPatientDetails(
PatientProfileDto name) {


List<PatientProfileDto> list = new ArrayList<PatientProfileDto>();
list = service.getPatient(name);
return list;
}

注意去掉注解@RequestBody

关于java - 内容类型为 application/x-www-form-urlencoded 的 Http Post 请求在 Spring 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34782025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com