Java 从api返回成功作为true或false的om Spring REST api
我对Springboot还很陌生。如何配置Springboot API以从登录或注册端点返回下面的JSON响应?。我如何才能返回真正成功的响应? 例如,如果代码处理中存在代码异常,如何将false作为成功JSON响应返回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
{
'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;
}
}