Spring REST-从GET请求查询中反序列化对象

时间:2019-05-21 14:20:01

标签: spring spring-rest spring-web

我正在尝试实现一个端点,该端点从请求参数中获取序列化的对象并将其反序列化为POJO。有没有简单的方法可以用Spring做到这一点?

查询示例: http://localhost/routes/departures?trip=%7B%22stopId%22:%22U321Z102%22,%22routeId%22:%22L991D1%22,%22headSign%22:%22Nemocnice+Motol%22%7D 应该翻译成这样:

trip: {"stopId":"U321Z102","routeId":"L991D1","headSign":"Nemocnice Motol"}

此外,这些参数值可能包含空格和特殊字符(ěščř...)。 Spring会处理这个吗?另外,我可以分别发送这些参数而不进行序列化,但是我担心这会成为问题。

1 个答案:

答案 0 :(得分:0)

您需要通过发布请求发送用户(发送与后端类型和属性名称相同的userDTO的用户DTO)

您的rest控制器将如下所示

    @PostMapping("/users")
    @PreAuthorize("hasRole(\"" + AuthoritiesConstants.ADMIN + "\")")
    public ResponseEntity<User> createUser(@Valid @RequestBody UserDTO userDTO)      throws URISyntaxException {
    log.debug("REST request to save User : {}", userDTO);