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

Spring MVC:如何修复415响应错误

锺离烈
2023-03-14

由于我没有找到任何fox 415响应错误的工作示例,我仍然无法理解Spring为什么不能处理以下请求:

@RestController
@AllArgsConstructor
@RequestMapping("/organization")
@Slf4j
public class OrganizationController {
...
    @PutMapping(value = "/public-certificates")
    public List<CertificateDTO> updateCertificates(@RequestBody Map<String, String> body) {
        String companyNumber = body.getOrDefault("kbo", "unknown");
        List<CertificateDTO> certificates = organizationClient.updateCertificates(companyNumber);

        return certificates;
    }

并返回:

Completed 415 UNSUPPORTED_MEDIA_TYPE

以下是请求的一个CURL版本:

curl -X PUT -i http://localhost:8080/api/organization/public-certificates --data 'kbo=123.456.789'

Een修改后如下:

@PutMapping(value = "/public-certificates")
    public List<CertificateDTO> updateCertificates(@RequestBody CompanyNumber body) {
        String companyNumber = body.getKbo();
        List<CertificateDTO> certificates = organizationClient.updateCertificates(companyNumber);

        return certificates;
    }

    @Getter
    @Setter
    private class CompanyNumber {
        private String kbo;
    }

并使用curl如下所示:

url -H "Accept: application/json" -H "Content-Type:application/json" -X PUT -i http://localhost:8080/api/organization/public-certificates --data '{"kbo": "0316.380.940"}'

没有解决问题。

我错过了什么?

共有1个答案

宋俊艾
2023-03-14

以下是对我有效的方法:

@RestController
@AllArgsConstructor
@RequestMapping("/organization")
@Slf4j
public class OrganizationController {
...
    @PutMapping(value = "/public-certificates")
    public List<CertificateDTO> updateCertificates(@RequestBody Map<String, String> body) {
        String companyNumber = body.getOrDefault("kbo", "unknown");
        List<CertificateDTO> certificates = organizationClient.updateCertificates(companyNumber);

        return certificates;
    }

使用以下CURL命令运行时:

curl -i -H "Accept: application/json" -H "Content-Type:application/json" -X PUT --data '{"kbo": "0316.380.940"}' "http://localhost:8080/api/organization/public-certificates" 
 类似资料:
  • 我正试图在wordpress上制作一个响应性主题。当我使用桌面分辨率时,缩略图会100%调整到卡的分辨率,但当我将分辨率降低到移动设备时,它会变得比卡更大。为什么会这样? 我已经尝试添加Bootstrap4响应映像类。 预期: 现实: wordpress管理面板上配置的缩略图大小为350 x273px

  • 无论我尝试什么,发送给dispatcher servlet的请求都会返回HTTP 415错误。请求中将内容类型设置为application/json。 消息转换器似乎没有将请求映射到对象。 我的POM中有所有Jackson依赖项: 控制器类: 我试图在@刚需映射中添加接受、消费、生产,但没有成功。 我可以使用HttpServletRequest作为方法参数获得正确的JSON响应: 这一个在写入系统

  • 我试图通过ajax调用从表中获取数据。但我得到的响应是“500内部服务器错误”。 ajax调用的脚本如下所示 方法中调用。PHP如下所示 add_action('wp_ajax_nopriv_getsections','getsections');add_action('wp_ajax_getsections','getsections');

  • 我是Java的新手,尤其是Java的面向对象编程,我一直收到这个让我发疯的错误。 以下是我的员工超类的一部分: 以及子类CommissionEmployee: 我得到的相同错误是: 这到底是什么意思,是什么原因导致的,我如何修复它?

  • 我有一个react前端和java后端。我正在使用一个AXIOS.patch请求,并不断收到一个422响应。我不知道出了什么问题。我希望这是正确的更新。我正在使用jsonpatch尝试更新这个对象。 javax.json.jsonException:“{”id“:69406,”rfidtag“:”e200420c71a06015010b6362“}”不包含名称“templocation”的值 好的,

  • 当通过URL调用我的Web应用程序中不存在的项目时,Spring会使用JSON响应,其中包含(时间、状态、错误、消息、路径)等数据。所以,我需要更改这个JSON的结构,特别是我需要删除路径。我该怎么做?我应该在我的项目中在哪里实现异常的自定义?向大家问好! json响应修改