Java Spring RequestParam 为 null

标签 java spring

我遇到了一个问题,Spring 给我的 RequestParams 为空,即使我相信 Http 请求包含变量并且格式正确。

这是有错误的代码。

@RequestMapping(value="/{username}/party/{partymember}",method=RequestMethod.PUT,  produces="application/json", consumes="application/x-www-form-urlencoded")
public ResponseEntity<String> updatePartyMember(@PathVariable String username, 
                                                @PathVariable String partymember,
                                                @RequestParam(value="membername", required=false) String newMemberName,
                                                @RequestParam(value="job", required=false) String newJob)

这是另一个可以正常工作的函数。

@RequestMapping(value="/{username}/party", method=RequestMethod.POST, produces="application/json", consumes="application/x-www-form-urlencoded")
public ResponseEntity<String> addPartyMember(@PathVariable String username, 
                                            @RequestParam(value="membername", required=false) String partyMemberName,
                                            @RequestParam(value="job", required=false) String partyMemberJob)

在调试时,我对第二个函数进行了有效查询,仅更改了 url 和请求方法,并且我能够调用第一个函数。这让我相信我发送到服务器的查询没有任何问题。

最佳答案

Spring 仅处理 GET 和 POST 方法的请求参数。如果使用PUT,则必须使用@RequestBody传递数据。

关于Java Spring RequestParam 为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35443502/

相关文章:

java - 将 spring boot 应用程序拆分为多个 Web 应用程序

java - Libgdx 补间问题

java.lang.ClassCastException : Application1 cannot be cast to Application2

Java ResultSet 为空但实际上不应该为空

spring - 如何启用 Spring Reactive Web MVC 来处理多部分文件?

java - NoSuchBeanDefinitionException : No qualifying bean of type 'int'

java - 设置属性后 Spring 和延迟 Bean Init

java - 按数值降序对 Hashmap 键进行排序

java - 禁用 dropwizard 对特定资源的内部日志记录

java - Spring,Java : Error, 无法将 java.lang.Long 转换为 java.util.Date