我可以发送错误图和响应对象作为响应吗?正确的方法是什么?

凤凰

我有一个弹簧休息终点,它接受一个用户对象并返回另一个用户对象作为响应。我的控制器方法如下所示:

@PostMapping
public UserResponse createUser(@RequestBody UserDetailsRequestModel userDetails)
            throws Exception {
        
        UserRest userResponse= new UserRest();

        ModelMapper modelMapper = new ModelMapper();
        UserDto userDto = modelMapper.map(userDetails, UserDto.class);
        userDto.setRoles(new HashSet<>(Arrays.asList(Roles.ROLE_USER.name())));
        UserDto createdUser = userService.createUser(userDto);
        returnValue = modelMapper.map(createdUser, UserResponse.class);

        return userResponse;
    }

我的userResponse类看起来像

public class UserRest {

    private String userId;
    private String firstName;
    private String lastName;
    private String email;
    ....getters and setters

而且此流程运行良好。但是现在我需要向createUser方法(JSR 303)添加验证,以检查传入的JSON字段是否正确。为此,我试图在控制器中添加以下代码

@PostMapping
    public UserResponse createUser(@Valid @RequestBody UserDetailsRequestModel userDetails, BindingResult result){

        if(result.hasErrors()){
            Map<String, String> errorMap = new HashMap<>();

            for(FieldError error: result.getFieldErrors()){
                errorMap.put(error.getField(), error.getDefaultMessage());
            }
            **return new ResponseEntity<Map<String, String>>(errorMap, HttpStatus.BAD_REQUEST);**
        }

        UserRest userResponse= new UserRest();

        ModelMapper modelMapper = new ModelMapper();
        UserDto userDto = modelMapper.map(userDetails, UserDto.class);
        userDto.setRoles(new HashSet<>(Arrays.asList(Roles.ROLE_USER.name())));
        UserDto createdUser = userService.createUser(userDto);
        returnValue = modelMapper.map(createdUser, UserResponse.class);

        return **userResponse**;

我的代码中明显的问题是我无法从ResponseEntity <Map <String,String >>转换为UserResponse对象。

有适当的方法吗?这样我就可以发送错误(如果有的话)或UserResponse对象(如果同一控制器方法中没有错误)?

ts

返回类型为ResponseEntity <?>

@PostMapping
public ResponseEntity<?> createUser(@Valid @RequestBody UserDetailsRequestModel userDetails, BindingResult result){
    if(result.hasErrors()){
        ...
        return ResponseEntity.badRequest().body(errorMap);
    }
    ...
    return ResponseEntity.ok(userRequest);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以在 json 响应中发送 java 对象吗

来自分类Dev

我可以将响应对象存储在哈希表中吗?

来自分类Dev

为什么我会得到以下错误消息:断言响应对象(...)是类“ RedirectResponse”的实例?

来自分类Dev

是否可以从响应对象中提取方法名称?

来自分类Dev

发送对象方法作为响应NodeJS

来自分类Dev

请求对象和响应对象

来自分类Dev

为什么我无法发送正确的服务器状态作为响应,而是在我点击端点时得到“无响应”?

来自分类Dev

如果我有jQuery jqXHR响应对象,是否可以查看它是对POST还是对GET的响应?

来自分类Dev

REST API响应的正确方法是什么?

来自分类Dev

存储和访问请求响应对象

来自分类Dev

发送几个异步API请求并并行处理响应的正确方法是什么?

来自分类Dev

在生成 Excel 或 PDF 文件作为响应的 REST API 中处理异常的正确方法是什么?

来自分类Dev

如何在Restlet中发送错误响应?

来自分类Dev

写入数据后向套接字发送错误响应

来自分类Dev

Web API 过滤器立即发送错误响应

来自分类Dev

Slim PHP-使用请求和响应对象的正确方法

来自分类Dev

我可以通过发送错误的数据来破坏MIDI设备吗?

来自分类Dev

我可以通过发送错误的数据来破坏MIDI设备吗?

来自分类Dev

我可以将Travis CI的状态作为json响应吗?

来自分类Dev

406 HTTP状态错误的正确响应格式是什么

来自分类Dev

为什么我的JSON响应对象没有加载到字典中?

来自分类Dev

如何使用正确的请求和响应对象调用函数?

来自分类Dev

返回响应对象和回显输出有什么区别?

来自分类Dev

Spring-响应文件流的正确方法是什么?

来自分类Dev

更新端点的响应对象

来自分类Dev

遍历响应对象角度

来自分类Dev

请求和响应对象

来自分类Dev

创建 HTTP 响应对象

来自分类Dev

Gson HTTP 响应对象

Related 相关文章

  1. 1

    我可以在 json 响应中发送 java 对象吗

  2. 2

    我可以将响应对象存储在哈希表中吗?

  3. 3

    为什么我会得到以下错误消息:断言响应对象(...)是类“ RedirectResponse”的实例?

  4. 4

    是否可以从响应对象中提取方法名称?

  5. 5

    发送对象方法作为响应NodeJS

  6. 6

    请求对象和响应对象

  7. 7

    为什么我无法发送正确的服务器状态作为响应,而是在我点击端点时得到“无响应”?

  8. 8

    如果我有jQuery jqXHR响应对象,是否可以查看它是对POST还是对GET的响应?

  9. 9

    REST API响应的正确方法是什么?

  10. 10

    存储和访问请求响应对象

  11. 11

    发送几个异步API请求并并行处理响应的正确方法是什么?

  12. 12

    在生成 Excel 或 PDF 文件作为响应的 REST API 中处理异常的正确方法是什么?

  13. 13

    如何在Restlet中发送错误响应?

  14. 14

    写入数据后向套接字发送错误响应

  15. 15

    Web API 过滤器立即发送错误响应

  16. 16

    Slim PHP-使用请求和响应对象的正确方法

  17. 17

    我可以通过发送错误的数据来破坏MIDI设备吗?

  18. 18

    我可以通过发送错误的数据来破坏MIDI设备吗?

  19. 19

    我可以将Travis CI的状态作为json响应吗?

  20. 20

    406 HTTP状态错误的正确响应格式是什么

  21. 21

    为什么我的JSON响应对象没有加载到字典中?

  22. 22

    如何使用正确的请求和响应对象调用函数?

  23. 23

    返回响应对象和回显输出有什么区别?

  24. 24

    Spring-响应文件流的正确方法是什么?

  25. 25

    更新端点的响应对象

  26. 26

    遍历响应对象角度

  27. 27

    请求和响应对象

  28. 28

    创建 HTTP 响应对象

  29. 29

    Gson HTTP 响应对象

热门标签

归档