Преобразование JSON объекта с идентификатором MongoDB в POJO. Объект возвращает нуль для поля идентификатора в методе PUT rest. - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь отправить весь объект (Product) из клиента Advanced rest в Chrome для обновления. Но поле id @Id String productId на сервере десериализуется с нулем - и ничего не поможет!

@Document(collection = "products")
public class Product {
@Id
private String productId;
private String name;
private String description;

//MongoTemplate productTemplate type in DAL
public Product updateProduct(Product product) {
System.out.println("id... - " + product.getProductId()); //null
Query query = new Query(Criteria.where("ProductId").is(new ObjectId   
(product.getProductId())));
Product pro = productTemplate.findOne(query, Product.class);
System.out.println("product... - " + pro); //null
        Update update = new Update();
        update.set("name", product.getName());
        update.set("description", product.getDescription());
        update.set("endDate", product.getEndDate());
        productTemplate.updateFirst(query, update, Product.class);


//I send such JSON:
{"productId":"5e948782136d0213c4bb9555",
"name": "New Product",
"description": "This first product",
"endDate": "2019-10-12"}
...