Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从api返回成功作为true或false的om Spring REST api_Java_Spring Boot - Fatal编程技术网

Java 从api返回成功作为true或false的om Spring REST api

Java 从api返回成功作为true或false的om Spring REST api,java,spring-boot,Java,Spring Boot,我对Springboot还很陌生。如何配置Springboot API以从登录或注册端点返回下面的JSON响应?。我如何才能返回真正成功的响应? 例如,如果代码处理中存在代码异常,如何将false作为成功JSON响应返回 { 'message': "user created successfully", 'success' : true or false depending on the state of the request } 目前为止我拥有的:我的登录API

我对Springboot还很陌生。如何配置Springboot API以从登录或注册端点返回下面的JSON响应?。我如何才能返回真正成功的响应? 例如,如果代码处理中存在代码异常,如何将false作为成功JSON响应返回

{
  'message': "user created successfully",
  'success' : true or false depending on the state of the request
}
目前为止我拥有的:
我的登录API

@PostMapping("/signin")
    public ResponseEntity<?> authenticateUser(@Valid @RequestBody LoginRequest loginRequest) {

        if (!userRepository.existsByUsername(loginRequest.getUsername()) {
            return ResponseEntity
                    .badRequest()
                    .body(new MessageResponse("Invalid Login credentials!"));
        }else{
            Authentication authentication = authenticationManager.authenticate(
                    new UsernamePasswordAuthenticationToken(loginRequest.getUsername(), loginRequest.getPassword()));

            SecurityContextHolder.getContext().setAuthentication(authentication);
            String jwt = jwtUtils.generateJwtToken(authentication);

            UserDetailsImpl userDetails = (UserDetailsImpl) authentication.getPrincipal();
            List<String> roles = userDetails.getAuthorities().stream()
                    .map(item -> item.getAuthority())
                    .collect(Collectors.toList());

            return ResponseEntity.ok(new JwtResponse(jwt,
                    userDetails.getId(),
                    userDetails.getUsername(),
                    userDetails.getEmail(),
                    roles));  
        }

    }
MessageResponse类

public class MessageResponse {
    private String message;

    public MessageResponse(String message) {
        this.message = message;
      }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}

您没有发布MessageResponse的代码,因此如果它是您的类,您可以向它添加布尔字段,并且ResponseEntity包装器可以包装这个有2个字段的对象。 另一个选项是使用@ResponseBody注释而不是ResponseEntity。请阅读更多

public class MessageResponse {
    private String message;

    public MessageResponse(String message) {
        this.message = message;
      }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}