si tu proyecto ya incluye la starter de Spring Boot Web (org.springframework.boot:spring-boot-starter-web), ya que esta incluye com.fasterxml.jackson.databind.ObjectMapper de forma predeterminada y Spring registra un Bean de ObjectMapper automáticamente
inyectar el bean objectMapper:
@Autowired
private ObjectMapper objectMapper;
o:
private final ObjectMapper objectMapper;
y luego lo pasamos como párametro en el constructor e insertamos el bean en la variable privada
ejemplo de un método del controller:
@GetMapping("/givemeone")
public ResponseEntity<String> giveMeOne() throws Exception {
CredentialsLogin dto = new CredentialsLogin();
dto.setPassword("abc");
String jsonResponse = toJsonString(dto);
return ResponseEntity.ok( jsonResponse );
}
y el método: (necesita lanzar la excepción Exception)
private String toJsonString(Object dto) throws Exception {
String jsonResponse = objectMapper.writeValueAsString(dto);
return jsonResponse;
}
ese método transforma un objeto POJO a un JSON String
usar:
objectMapper.writeValueAsString()
y dentro del método el objeto
y retorna un JSON String