1
resposta

Metodo post retorna null ao gravar dados no mongo db

Estou fazendo um teste de entrevista e nele pedi para realizar um método e gravar o log dele no banco. Só que ele esta retornando null em certos dados que vão para o banco.

O resultado é este

{ "id": "6255ec6b9ecfc059ee65aa00", "carid": null, "title": "Ford", "brand": "Eco Sport", "price": "100000", "age": 2000, "log_car": null }

minha model:

@Builder @Data @NoArgsConstructor @AllArgsConstructor @Getter @Setter @Document(collection = "cars") @JsonIgnoreProperties(value = { "target" }) public class Cars { @JsonProperty("id") private String _id; @JsonProperty("carid") private String car_id; @JsonProperty("title") private String title; @JsonProperty("brand") private String brand; @JsonProperty("price") private String price; @JsonProperty("age") private int age; @DBRef @JsonProperty("log_car") private Log log_car; }

//logcar @Builder @Data @AllArgsConstructor @Getter @Setter @Document(collection = "cars") @JsonIgnoreProperties(value = { "target" }) public class Log { @Id private String id; private String carid; public String data_hora;

public Log() {
    this.car_id = new ObjectId().toString();
    this.data_hora = LocalDateTime.now().format(DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm"));
}

//

}

e minha controller:

@RequestMapping(value = "/cars/create") public ResponseEntity createProduct(@RequestBody Cars cars) {

    HttpHeaders httpHeaders = new HttpHeaders();
    httpHeaders.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
    HttpEntity<Cars> entity = new HttpEntity<Cars>(cars,httpHeaders);

   cars = restTemplate.exchange(url, HttpMethod.POST, entity, new ParameterizedTypeReference<Cars>() {}).getBody();


   return ResponseEntity.ok(carsService.salvar(cars));

}

Alguém consegue me ajudar com urgencia?
1 resposta

Olá Guilherme, tudo bem? Pelo que entendi, você está tendo problemas em gravar dados no MongoDB através de um método POST, certo?

Pelo código que você compartilhou, não consegui identificar exatamente onde está o problema, mas uma possível causa para o retorno null pode ser a falta de um valor atribuído à variável "car_id" na classe Cars.

Outra possibilidade é que o problema esteja na configuração do seu banco de dados MongoDB. Verifique se as configurações estão corretas e se a conexão com o banco está funcionando adequadamente.

Além disso, sugiro que você verifique se o objeto "cars" está sendo preenchido corretamente antes de ser enviado para o método POST.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software