忽略空的请求正文?

时间:2019-05-07 14:37:35

标签: spring rest spring-boot

在为REST API(使用Spring Boot构建)编写了测试之后,我意识到,即使不使用请求正文(请参阅下文),使用请求正文调用端点也会成功–实际上,Spring忽略了身体。

这不是一个大问题,但是我想知道我应该采用哪种哲学来解决这个问题:

  • 通过意外身体时(我什么都不希望)我会失败吗?
  • 如果是这样,是否可以在Spring中对其进行配置,以便严格检查主体/参数?
  • 最后,除了个人喜好和/或经验之外,还有什么好的方法可以决定这一点,或者我应该简单地使用“如果它没有损坏,就不修复它”作为我的口头禅?

@PatchMapping(value = "/products/{pid}/sell")
public TxDTO sell(@NotBlank @PathVariable("pid") String pid,
                  @NotNull @RequestParam Float price)

1 个答案:

答案 0 :(得分:2)

我认为您不应该对此考虑太多。从技术上讲,忽略意外的主体不会违反任何软件开发原则。即使这可能会使您在项目环境中感到不舒服,但您可能仍要考虑其他情况,其中@RestController前面有一个过滤器或servlet来做一些其他事情,而这些事情并没有知道。

重点是,这不是您应该全局关闭的功能,也不值得花费时间实施自定义代码以在单个端点的本地将其关闭:)。