使用PUT的SpringBoot和JSON

时间:2016-10-11 13:12:24

标签: json spring-boot put

我正面临使用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就可以了。

对我在这里失踪的事情有所了解吗?

0 个答案:

没有答案