在Spring中访问Request端点的REST端点

时间:2018-01-29 06:57:04

标签: java spring rest

我想访问已经反序列化的REST端点的请求主体对象。

我的REST控制器如下所示:

@RequestMapping(value = "car/{id}", method = RequestMethod.PUT)
public ResponseEntity updateCar(@RequestBody Car car, @PathVariable("id") String carId) {
    // My update logic, how i update the car object in database
    // with the retrieved request body. 
    // Here i want to access the raw request body e.g. the JSON string
}

修改

汽车POJO:

public class Car {
    private String id;
    private String name;
    private String color;
    private List<String> additions =  new ArrayList<>();

    // setters and getters
}

当我想进行部分更新时,例如像这样的PUT请求:

curl -X PUT \
    -H "Content-Type: application/json" \
    -d "{ \"color\" : \"Green\" }" \
    http://localhost:8080/car/1234

在上面的请求主体反序列化之后,additions字段是一个空列表,尽管我没有指定它。如果我可以访问原始json请求主体,那么我可以检查是否指定了additions字段。

是否可以在反序列化后访问原始请求正文?

0 个答案:

没有答案