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