spring-boot
controllers
Sök…
Introduktion
I det här avsnittet lägger jag till ett exempel på Spring boot rest controller med Get and post-begäran.
Fjäderstövelkontroll.
I det här exemplet kommer jag att visa hur man formulerar en viloläge för att få och skicka data till databasen med hjälp av JPA med den mest enkla och minsta koden.
I det här exemplet kommer vi att hänvisa till datatabellen med namnet köpare krav.
BuyingRequirement.java
@Entity @Table (name = "KÖPKRAV") @NamedQueries ({@NamedQuery (name = "BuyingRequirement.findAll", fråga = "VÄLJ b FRÅN BuyingRequirement b")}) public class BuyingRequirement utökar Domän implementering Serializable {privat statisk final long long 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;
}
}
Detta är entitetsklassen som inkluderar parametern som hänvisar till kolumner i byuingRequirement-tabellen och deras brev och inställningar.
IBuyingRequirementsRepository.java (JPA-gränssnitt)
@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;
}
}
Den innehåller en metod
- Postmetod som publicerar data till databasen.
- Hämta metod som hämtar alla poster från köpkravstabellen.
- Detta är också en get-metod som hittar köpkravet med personens namn.