当前位置: 首页 > 知识库问答 >
问题:

MVC Post和Put映射方法,使用Post Man响应主体值“null”,但状态200 OK

薛利
2023-03-14

我试图用Spring Boot MVC做一个html" target="_blank">应用程序,但遇到了一个问题。对于Post和Put方法,我收到状态200 ok,但值为“null”。创建了数据库上的新注册,但只填充了Id(自动增量)列,并在Postman响应中接收。谁能帮帮我吗?

`@RequestMapping(“/api”)@RestController公共类ExtractedNumbersController{private final ExtractedNumbersService ExtractedNumbersService;@Autowired public ExtractedNumbersController(ExtractedNumbersService ExtractedNumbersService){this.ExtractedNumbersService=ExtractedNumbersService;}

    @PostMapping("/addExtractedNumbers")
    public ExtractedNumbers addExtractedNumbers(@RequestBody ExtractedNumbers extractedNumbers) {
        return extractedNumbersService.addExtractedNumbers(extractedNumbers);
    }


    @GetMapping("/findAllExtractedNumbers")
    public List<ExtractedNumbers> findAllActivities() {
        return extractedNumbersService.findAllExtractedNumbers();
    }

    @GetMapping("findExtractedNumbersById/{id}")
    public Optional<ExtractedNumbers> findExtractedNumbersById(@PathVariable("id") Integer id) {
        return extractedNumbersService.findByIdExtractedNumbers(id);
    }

    @PutMapping("/updateExtractedNumbers/{id}")
    public ExtractedNumbers updateProduct(@PathVariable("id") Integer id, @RequestBody ExtractedNumbers extractedNumbers) {
        Optional<ExtractedNumbers> extractedNumbersFromDatabase = extractedNumbersService.findByIdExtractedNumbers(id);
        if (extractedNumbersFromDatabase.isPresent()) {
            extractedNumbersFromDatabase.get().setExtractedNumbers(extractedNumbers.getExtractedNumbers());
            extractedNumbersFromDatabase.get().setExtractionDate(extractedNumbers.getExtractionDate());
            final ExtractedNumbers updatedExtractedNumbers = extractedNumbersService.addExtractedNumbers(extractedNumbersFromDatabase.get());

            return updatedExtractedNumbers;
        }
        return extractedNumbersService.addExtractedNumbers(extractedNumbers);
    }

    @DeleteMapping("/deleteExtractedNumbersById/{id}")
    public void deleteExtractedNumbersById(@PathVariable("id") Integer id) {
        extractedNumbersService.deleteExtractedNumbers(id);
    }

}



@Data
@Table
@Entity
@AllArgsConstructor
@NoArgsConstructor
public class ExtractedNumbers {


    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer extractedNumbersId;
    @Column
    private String extractedNumbers;
    @Column
    private String extractionDate;

    public ExtractedNumbers(String extractedNumbers, String extractionDate) {
        this.extractedNumbers = extractedNumbers;
        this.extractionDate = extractionDate;
    }

    public String getExtractedNumbers() {
        return extractedNumbers;
    }

    public void setExtractedNumbers(String extractedNumbers) {
        this.extractedNumbers = extractedNumbers;
    }

    public String getExtractionDate() {
        return extractionDate;
    }

    public void setExtractionDate(String extractionDate) {
        this.extractionDate = extractionDate;
    }
}


public interface ExtractedNumbersService {
    List<ExtractedNumbers> findAllExtractedNumbers();
    ExtractedNumbers addExtractedNumbers(ExtractedNumbers extractedNumbers);
    Optional<ExtractedNumbers> findByIdExtractedNumbers(Integer extractedNumbersId);
    ExtractedNumbers update(ExtractedNumbers extractedNumbers);
    void deleteExtractedNumbers(Integer extractedNumbersId);
}



@Service
public class ExtractedNumbersServiceImpl implements ExtractedNumbersService {
    private final ExtractedNumbersRepository extractedNumbersRepository;

    public ExtractedNumbersServiceImpl(ExtractedNumbersRepository extractedNumbersRepository) {
        this.extractedNumbersRepository = extractedNumbersRepository;
    }

    @Override
    public List<ExtractedNumbers> findAllExtractedNumbers() { return extractedNumbersRepository.findAll() ; }

    @Override
    public ExtractedNumbers addExtractedNumbers(ExtractedNumbers extractedNumbers) {
        return extractedNumbersRepository.save(extractedNumbers);
    }

    @Override
    public Optional<ExtractedNumbers> findByIdExtractedNumbers(Integer extractedNumbersId) {
        return extractedNumbersRepository.findById(extractedNumbersId);
    }

    @Override
    public ExtractedNumbers update(ExtractedNumbers extractedNumbers) {
        return extractedNumbersRepository.save(extractedNumbers);
    }

    @Override
    public void deleteExtractedNumbers(Integer extractedNumbersId) {
extractedNumbersRepository.deleteById(extractedNumbersId);
    }
}`

[Database][1]

邮递员提取的数字类

共有1个答案

潘璞瑜
2023-03-14

你在ExtractedNumbers中的属性是否与数据库表列一致?如果你的表列像extracted_numbers你需要做下划线骆驼

 类似资料:
  • 发布请求后,API 将响应正文作为字符串返回 身体的反应是这样的 {UniqueID=93243434,出生性别=M,出生日期=11/1/2018 5:51:18 PM,familyNames=James,givenNames=Test} 当我尝试使用以下代码设置环境变量时: 我得到了以下错误的测试结果 错误消息:评估测试脚本时出错:JSON error:1:3出现意外标记“u ”{ unique

  • 我使用JavaSpring Cloud/Boot构建了一个REST API服务。首先,我制作了一个连接到MongoDB的简单类和一个带有服务的控制器,它应该允许我添加、删除、更新和获取所有对象。当使用POSTMAN时,这些都可以工作,但是当我想使用redux添加或更新对象并获取API时,我会收到状态400和“错误请求”错误。这似乎与我在正文中发送的JSON有关,但它与例如POSTMAN使用的JSO

  • 在进行web客户端调用并使用前一个Mono的响应后,我无法在映射中获得填充值。以下是我所尝试的代码。parameters.size()的值为零。无法获得该值未被文件化的原因。我基本上希望从该方法返回年龄(而不是单对象)。使用block给出一个错误block()/blockfirst()/blocklast()是blocking,这在thread Reactor-http-nio-3中是不支持的。

  • 我正在使用Registfit在我的web服务器中发出一个POST请求。

  • 我正在使用volley库用于Android中的网络调用,并使用jsonObject用于从服务器发送和获取值。 在我的例子中,如果我发送了正确的值,它将返回正确的json对象,但是如果我向服务器发送了错误的输入,它将返回401作为带有错误消息的请求头和响应体。但在onResponse success方法中没有显示这一点。 有谁能帮我克服这个问题吗?