Я пытаюсь сделать простой веб-сервис REST с помощью Spring Boot в IntelliJ.Я также должен сделать клиент CRUD для этого, но позже.
Я должен создать таблицу продуктов с полями: id, имя, цена и статус.И у меня проблема с созданием уникального поля «имя».Если я отправляю данные почтальоном с тем же именем, он не должен добавлять их в базу данных и выдает ошибку сервера.
Также я должен сделать так, чтобы в поле «статус» могло быть только 3 уникальных значения.: «доступно», «нет в наличии» и «снято с продажи».Нельзя добавить новый товар со статусом «снят с продажи».Таким образом, вы можете использовать только эти три значения для публикации данных «status».
Может ли кто-нибудь помочь мне с этим?
Класс My Products:
@Entity
public class Products {
private Long id;
private String nazwa;
private Float cena;
private String status;
@Id
@GeneratedValue
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNazwa() {
return nazwa;
}
public void setNazwa(String nazwa) {
this.nazwa = nazwa;
}
public Float getCena() {
return cena;
}
public void setCena(Float cena) {
this.cena = cena;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
My ProductsController
@RestController
@RequestMapping("/products")
public class ProductsController {
@Autowired
private ProductJpaRepository productJpaRepository;
@GetMapping(value = "/all")
public List<Products> findAll() {
return productJpaRepository.findAll();
}
@GetMapping(value = "/{nazwa}")
public Products findByName(@PathVariable final String nazwa) {
return productJpaRepository.findByNazwa(nazwa);
}
@PostMapping(value = "/load")
public Products load(@RequestBody final Products products) {
return productJpaRepository.save(products);
}
}