【问题标题】:PUT and POST - same parameter but bad request for PUTPUT 和 POST - 相同的参数但对 PUT 的请求错误
【发布时间】:2018-09-27 18:33:54
【问题描述】:

我有 requestMapping("projects") 的 Post 方法和 Put 方法。

@PutMapping
public ResponseEntity<ResultDomain> updateProjet(@RequestParam String projectJSON,
        @RequestParam MultipartFile image, @RequestParam(required = false) MultipartFile image1,
        @RequestParam(required = false) MultipartFile image2) throws Exception {
}

@PostMapping
public ResponseEntity<ResultDomain> addProjet(@RequestParam String projectJSON, @RequestParam MultipartFile image,
        @RequestParam(required = false) MultipartFile image1, @RequestParam(required = false) MultipartFile image2)
        throws Exception {
}

这两种方法具有完全相同的参数。当我请求 POST 时,我没有问题。但是当我请求 PUT 时,它会返回错误的请求。 PUT 方法有什么限制吗?

邮递员结果:

发布方法

放置方法

请帮忙。提前致谢

【问题讨论】:

  • 能否粘贴堆栈跟踪或错误消息(如果有)?
  • 太糟糕了,没有堆栈跟踪......它没有进入方法并拒绝错误请求
  • 请开启调试模式并发送请求。希望会有一些堆栈跟踪
  • 我试过调试模式...仍然没有堆栈跟踪

标签: java spring-boot http-post spring-restcontroller http-put


【解决方案1】:

几个月前,我在开发 RESTful 服务时遇到了同样的问题。

添加HttpPutFormContentFilter 帮助我解决了这个问题。

参考:SpringMVC Not Recognizing Body Parameters While Using PUT

【讨论】:

  • 您好,感谢您的回复。如何将 HttpPutFormContentFilter 添加到 Spring Boot Rest 项目?我发现的大部分网站都添加在我没有的 web.xml 中
【解决方案2】:

最后,我可以通过将@RequestParam String projectJSON 替换为@RequestPart String projectJSON 来解决它。仍然不知道为什么..有人可以解释吗?感谢您的友好回答..赞赏它

【讨论】:

    猜你喜欢
    • 2020-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    相关资源
    最近更新 更多