spring-boot
Controllers
Zoeken…
Invoering
In deze sectie zal ik een voorbeeld toevoegen voor de Spring boot rest controller met Get and post request.
Veer boot rust controller.
In dit voorbeeld zal ik laten zien hoe je een restcontroller kunt formuleren om met de meest eenvoudige en minste code gegevens naar de database te krijgen en te posten.
In dit voorbeeld verwijzen we naar de gegevenstabel genaamd BuyerRequirement.
BuyingRequirement.java
@Entity @Table (name = "BUYINGREQUIREMENTS") @NamedQueries ({@NamedQuery (name = "BuyingRequirement.findAll", query = "SELECT b VAN BuyingRequirement b")}) openbare klasse BuyingRequirement verlengt domeinimplementaties Serializable {private statische finale lang serialVersionUID = 1L;
@Column(name = "PRODUCT_NAME", nullable = false)
private String productname;
@Column(name = "NAME", nullable = false)
private String name;
@Column(name = "MOBILE", nullable = false)
private String mobile;
@Column(name = "EMAIL", nullable = false)
private String email;
@Column(name = "CITY")
private String city;
public BuyingRequirement() {
}
public String getProductname() {
return productname;
}
public void setProductname(String productname) {
this.productname = productname;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
}
Dit is de entiteitsklasse die de parameter bevat die verwijst naar kolommen in de byuingRequirement-tabel en hun getters en setters.
IBuyingRequirementsRepository.java (JPA-interface)
@Repository
@RepositoryRestResource
public interface IBuyingRequirementsRepository extends JpaRepository<BuyingRequirement, UUID> {
// Page<BuyingRequirement> findAllByOrderByCreatedDesc(Pageable pageable);
Page<BuyingRequirement> findAllByOrderByCreatedDesc(Pageable pageable);
Page<BuyingRequirement> findByNameContainingIgnoreCase(@Param("name") String name, Pageable pageable);
}
BuyingRequirementController.java
@RestController
@RequestMapping("/api/v1")
public class BuyingRequirementController {
@Autowired
IBuyingRequirementsRepository iBuyingRequirementsRepository;
Email email = new Email();
BuyerRequirementTemplate buyerRequirementTemplate = new BuyerRequirementTemplate();
private String To = "[email protected]";
// private String To = "[email protected]";
private String Subject = "Buyer Request From Pharmerz ";
@PostMapping(value = "/buyingRequirement")
public ResponseEntity<BuyingRequirement> CreateBuyingRequirement(@RequestBody BuyingRequirement buyingRequirements) {
String productname = buyingRequirements.getProductname();
String name = buyingRequirements.getName();
String mobile = buyingRequirements.getMobile();
String emails = buyingRequirements.getEmail();
String city = buyingRequirements.getCity();
if (city == null) {
city = "-";
}
String HTMLBODY = buyerRequirementTemplate.template(productname, name, emails, mobile, city);
email.SendMail(To, Subject, HTMLBODY);
iBuyingRequirementsRepository.save(buyingRequirements);
return new ResponseEntity<BuyingRequirement>(buyingRequirements, HttpStatus.CREATED);
}
@GetMapping(value = "/buyingRequirements")
public Page<BuyingRequirement> getAllBuyingRequirements(Pageable pageable) {
Page requirements = iBuyingRequirementsRepository.findAllByOrderByCreatedDesc(pageable);
return requirements;
}
@GetMapping(value = "/buyingRequirmentByName/{name}")
public Page<BuyingRequirement> getByName(@PathVariable String name,Pageable pageable){
Page buyersByName = iBuyingRequirementsRepository.findByNameContainingIgnoreCase(name,pageable);
return buyersByName;
}
}
Het omvat hun methode
- Postmethode die gegevens naar de database post.
- Krijg methode die alle records haalt uit de inkoopRequirement-tabel.
- Dit is ook een methode om de aankoopbehoefte op naam van de persoon te vinden.