Класс контроллера
package com.access6.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import com.access6.Model.User;
import com.access6.Repository.FlipkartRepo;
@RestController
public class OrderController {
@Autowired
private FlipkartRepo fr;
@PostMapping("/placeOrder")
public String placeOrder(User u) {
fr.save(u);
return "Sucessful...";
}
@GetMapping("/getUserByNmae/{name}")
public List<User> getUserByName(@PathVariable String name) {
return fr.findByName(name);
}
@GetMapping("/getUserByCity/{city}")
public List<User> getUserByAddress(@PathVariable String city) {
return fr.findBycity(city);
}
}
Класс модели
Пользователь
package com.access6.Model;
import java.util.List;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
@Document(collection = "Order_Db")
public class User {
@Id
private int id;
private String name;
private String gender;
private List <Product>products;
private Address address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public List<Product> getProducts() {
return products;
}
public void setProducts(List<Product> products) {
this.products = products;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", gender=" + gender + ", products=" + products + ", address="
+ address + "]";
}
}
Продукт
package com.access6.Model;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class Product {
private String proNmae;
private int quantity;
private int price;
}
Адрес
package com.access6.Model;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class Address {
private String city;
private String state;
private int pin;
}
Интерфейс репозитория
package com.access6.Repository;
import java.util.List;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.mongodb.repository.Query;
import com.access6.Model.User;
public interface FlipkartRepo extends MongoRepository<User, Integer> {
List<User> findByName(String name);
@Query("{'Address.city':?0}")
List<User> findBycity(String city);
}
Application.properties
spring.data.mongodb.host=localhost
spring.data.mongodb.database=Flipkart
spring.data.mongodb.port=27017
PostMan Я передаю данные через почтальона в формате JASON, при передаче параметров "id" публикуется как ноль и при вводе другой идентификатор данных снова будет равен нулю. в mongoDB сохраняется только «id», все остальные данные не были обнаружены почтальоном