当前位置: 首页 > 知识库问答 >
问题:

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

林丁雷
2023-03-14

我是spring的新手,目前正在尝试执行HTTP POST request Application/x-www-form-urlencoded,但当我将其保存在头中时,spring无法识别它,并对x-www-form-urlencoded415不受支持的媒体类型

org.springframework.web.httpmediatypenotsupportedexception:不支持内容类型“application/x-www-form-urlencoded”

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

我的控制器的一个例子是:

@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;
}

共有1个答案

申屠秦斩
2023-03-14

问题是,当我们使用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

 类似资料:
  • 我正在使用OpenAPI生成器生成Spring REST API。下面是一个片段: 它生成一个Spring REST API方法(只是一个有趣的方法): 然后,我想使用从集成测试中调用它: 我得到一个错误: 我对服务器端进行了一点调试,看起来它需要一个多部分的内容,但我不明白为什么。 内容类型为application/x-www-form-urlencoded的Http Post请求在Spring

  • 问题内容: 是新来春目前正在试图做的HTTP POST请求的应用程序/ x-WWW的形式,URL编码,但是当我守这在我的头,然后春天不承认它,并说 了 有人知道如何解决吗?请评论我。 我的控制器的一个示例是: 问题答案: 问题在于,当我们使用application / x-www-form-urlencoded时,Spring不会将其理解为RequestBody。因此,如果要使用它,则必须删除@R

  • 我有一个spring-boot应用程序,它唯一做的事情是接收http请求。 这是我的Spring管理员: 我在用邮递员寄请求。我的spring应用程序接收到的请求不能更改,因为代码不是由我的团队维护的。 请求标头 请求主体 我在这里发现了很多类似问题的问题,但不是我必须解决的完全相同的问题。我尝试添加和删除@RequestBody,将@RequestBody替换为@RequestParam,我尝试

  • 我激发下面的请求,它在一个项目中工作,但不是另一个项目。我试图禁用所有筛选器和参数解析器,但没有任何工作。 任何帮助或想法都将不胜感激。另外,如果有人能给我指出Spring解析参数的地方,我可以试着调试,看看会发生什么。

  • 我是一个新的spring boot最近,我试图做HTTP POST请求从一个android应用程序通过reverfit2 rest API库与application/x-www-form-url编码,但当我击中我的spring boot POST服务,它显示我以下错误 “状态”:415,“错误”:“不支持的媒体类型”,“异常”:“org.springframework.web.httpmediat

  • 当内容类型为application/x-www-form-urlencoded;charset=UTF-8并且请求正文为text或application/json时,如何在控制器中进行post映射。我读到@RequestBody不能与UrlenCoded一起工作。如何重新发行这个问题。