在Spring Controller中使用ResponseEntity <! - ? - >返回类型而不是简单的ResponseEntity是什么原因?

时间:2017-08-11 12:30:24

标签: spring spring-mvc spring-boot sonarqube

我已经看到很多Spring Controller程序实现的例子,它们使用ResponseEntity<?>来返回具有特定状态代码和可选主体的HTTP响应。

ResponseEntity<?>符号即使在官方的Spring教程中也存在,如下所示:Building REST services with Spring

使用ResponseEntity<?>代替简单ResponseEntity的原因是什么?

这与我之前的问题有点相关:SonarQube complains about using ResponseEntity with a wildcard

What is a raw type and why shouldn't we use it?线程中有一些解释,但我想更多关注ResponseEntity类,它在Spring Controller中使用。

考虑以下代码段,其中somethingService返回Optional Something类的@GetMapping ResponseEntity<?> getSomething() { return somethingService.getSomething() .map(smth -> new ResponseEntity<>(smth, HttpStatus.OK)) .orElse(new ResponseEntity<>(HttpStatus.NOT_FOUND)); }

ResponseEntity(HttpStatus status)

即使我没有从编译器检查中获得任何利润,是否有任何理由留下通配符,因为ResponseEntity参数化Object {{1}}类?

0 个答案:

没有答案