Postman中没有获取Get方法返回值

r55awzrz  于 2023-10-18  发布在  Postman
关注(0)|答案(1)|浏览(174)

在下面找到我的代码
PensionerDetails.java

  1. package com.pension.model;
  2. import jakarta.persistence.Column;
  3. import jakarta.persistence.Embedded;
  4. import jakarta.persistence.Entity;
  5. import jakarta.persistence.Id;
  6. import jakarta.persistence.Table;
  7. import lombok.AllArgsConstructor;
  8. import lombok.Data;
  9. import lombok.NoArgsConstructor;
  10. @Entity
  11. @AllArgsConstructor
  12. @NoArgsConstructor
  13. @Data
  14. @Table(name="pensioner_detail")
  15. public class PensionerDetail {
  16. @Id
  17. private String aadhar;
  18. private String name;
  19. private String DOB;
  20. private String Pan;
  21. private Double salary;
  22. private Double allowance;
  23. private String pension_class;
  24. @Embedded
  25. @Column(name="bank")
  26. private Bank bank;
  27. @Override
  28. public String toString() {
  29. return "PensionerDetail [aadhar=" + aadhar + ", name=" + name + ", DOB=" + DOB + ", Pan=" + Pan + ", salary="
  30. + salary + ", allowance=" + allowance + ", pension_class=" + pension_class + ", bank=" + bank + "]";
  31. }
  32. }

Bank.java

  1. package com.pension.model;
  2. import jakarta.persistence.Embeddable;
  3. import jakarta.persistence.Entity;
  4. import jakarta.persistence.Id;
  5. import lombok.AllArgsConstructor;
  6. import lombok.Data;
  7. import lombok.NoArgsConstructor;
  8. @Embeddable
  9. @AllArgsConstructor
  10. @Data
  11. @NoArgsConstructor
  12. public class Bank {
  13. private String bank_name;
  14. private long acc_num;
  15. private String bank_type;
  16. @Override
  17. public String toString() {
  18. return "Bank [bank_name=" + bank_name + ", acc_num=" + acc_num + ", bank_type=" + bank_type + "]";
  19. }
  20. }

Pensionrepo.java

  1. package com.pension.repository;
  2. import java.util.List;
  3. import org.springframework.data.jpa.repository.JpaRepository;
  4. import org.springframework.data.jpa.repository.Query;
  5. import org.springframework.stereotype.Repository;
  6. import com.pension.model.PensionerDetail;
  7. @Repository
  8. public interface Pensionrepo extends JpaRepository<PensionerDetail, String>{
  9. //
  10. // @Query("select p1_0.aadhar,p1_0.DOB,p1_0.Pan,p1_0.allowance,p1_0.acc_num,p1_0.bank_name,p1_0.bank_type,p1_0.name,p1_0.pension_class,p1_0.salary from PensionerDetail p1_0 where p1_0.aadhar=?1")
  11. public List<PensionerDetail> findByAadhar(String adhar);
  12. }

PensionService.java

  1. package com.pension.service;
  2. import java.util.List;
  3. import java.util.Optional;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Service;
  6. import com.pension.model.PensionerDetail;
  7. import com.pension.repository.Pensionrepo;
  8. @Service
  9. public class PensionService {
  10. @Autowired
  11. private Pensionrepo pensionrepo;
  12. public String savePensionDetails(PensionerDetail pensionerDetail) {
  13. pensionrepo.save(pensionerDetail);
  14. return "PensionDetails are saved successfully";
  15. }
  16. public Optional<PensionerDetail> getPensionByAadhar(String Aadhar) {
  17. // TODO Auto-generated method stub
  18. System.out.println(pensionrepo.findById(Aadhar));
  19. return pensionrepo.findById(Aadhar);
  20. }
  21. public List<PensionerDetail> pensionerDetails() {
  22. // TODO Auto-generated method stub
  23. return pensionrepo.findAll();
  24. }
  25. }

PensionController.java

  1. package com.pension.controller;
  2. import java.util.List;
  3. import java.util.Optional;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.web.bind.annotation.GetMapping;
  6. import org.springframework.web.bind.annotation.PathVariable;
  7. import org.springframework.web.bind.annotation.PostMapping;
  8. import org.springframework.web.bind.annotation.RestController;
  9. import com.pension.model.PensionerDetail;
  10. import com.pension.service.PensionService;
  11. @RestController
  12. public class PensionController {
  13. @Autowired
  14. private PensionService pensionService;
  15. @PostMapping("/savePensionDetails")
  16. public String savePension( @RequestBody PensionerDetail pensionerDetail) {
  17. return pensionService.savePensionDetails(pensionerDetail);
  18. }
  19. @GetMapping("/getByAadhar/{aadhar}")
  20. public Optional<PensionerDetail> getPensionByAadhar(@PathVariable String aadhar) {
  21. return pensionService.getPensionByAadhar(aadhar);
  22. }
  23. @GetMapping("/all")
  24. public List<PensionerDetail> pensionerDetails(){
  25. System.out.println(pensionService.pensionerDetails());
  26. return pensionService.pensionerDetails();
  27. }
  28. }

application.properties

  1. spring.datasource.url=jdbc:mysql://localhost/pension
  2. spring.datasource.username=root
  3. spring.datasource.password=root
  4. spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
  5. spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
  6. spring.jpa.hibernate.ddl-auto=update
  7. spring.jpa.show-sql=true
  8. spring.jpa.defer-datasource-initialization=true

Find my mysql table detals here
我已经创建了表和插入值,但当我调用GetMapping方法时,我可以在控制台中看到数据,但在post man中只是显示空列表。有人能帮我这个忙吗?我刚开始学习Spring。
我期待解决我的问题,因为在控制台,我可以看到的数据,然后为什么它不是在 Postman 打印数据。
Postman image
对于PostMapping请求,我得到此错误error
这就是我在postman postman postmapping中传递值的方式。
while executing mvn clean compile i am getting build failure

mfuanj7w

mfuanj7w1#

经过一番评论。要在 Postman 响应机构中产生结果,您应该做一些更改。
控制器层中的Post方法应该有一个@RequestBody注解:

  1. @PostMapping("/savePensionDetails")
  2. public String savePension(@RequestBody PensionerDetail pensionerDetail) {
  3. return pensionService.savePensionDetails(pensionerDetail);
  4. }

在Postman中,用你写的评论中的对象,我得到了下一个结果:

  1. {
  2. "name": "sravani",
  3. "DOB": "21/02/2001",
  4. "Pan": "Pan",
  5. "salary": 123.24,
  6. "allowance": 22.12,
  7. "pension_class": "pension",
  8. "bank": {
  9. "bank_name": "sbi",
  10. "acc_num": 1234,
  11. "bank_type": "govt"
  12. }
  13. }

毕竟,当我调用/all端点时,我会得到下一个结果:

展开查看全部

相关问题