我正面临使用SpringBoot和PUT请求的小情况。关于GET,一切正常。我尝试发送一个PUT请求传递一个对象作为JSON(使用邮递员测试)。 Maven配置:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
这是我的POJO:
public final class Request
{
private String name;
private Boolean lock;
//...public getter and setters...
}
这是我的控制器:
@RestController
@RequestMapping("/controller")
public class Controller
{
@RequestMapping(value = "locking", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
public static synchronized Object lock(Request request)
{
System.out.println("name:"+request.getName());
System.out.println("lock:"+request.getLock());
return null;
}
}
我的输入是(使用邮递员):
http://localhost:8080/controller/locking
request type: PUT
Content-Type: application/json
Content:{"name":"test","lock":true}
我的输出是:
name:null
lock:null
再一次简单的GET就可以了。
对我在这里失踪的事情有所了解吗?