java - API方法可以返回不同的类型,我如何定义返回类型?

标签 java spring

I have the following API method:

  @GetMapping
  public ResponseEntity<List<Project>> getProjects(@RequestParam(required = false) String userName, @RequestParam(required = false) boolean additionalInfo) {
    return ResponseEntity.ok(projectService.getProjects(userName, additionalInfo));
  }

当前返回 ResponseEntity<List<Project>> 。但如果可选参数 additionalInfo是真的,我想返回 ResponseEntity<List<ProjectAdditionalInfoDTO>> 。我如何定义返回类型以表明它们都可以返回?当然我可以使用ResponseEntity<?> ,但那会很难看。

最佳答案

我会让事情变得简单,只是将事情分成两个单独的 Controller 方法......例如

@GetMapping
public ResponseEntity<List<Project>> getProjects(@RequestParam(required=false) String userName) {
    //...
}

@GetMapping
public ResponseEntity<List<ProjectAdditionalInfoDTO>> getProjectsWithAdditionalInfos(@RequestParam(required=false) String userName, @RequestParam(required=true) boolean additionalInfo) {
    //...
}

关于java - API方法可以返回不同的类型,我如何定义返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59305587/

相关文章:

java - org.omg.CORBA :MARSHAL & org. omg.CORBA.BAD_PARAM 错误

Java JDBC MySQL异常: “Operation not allowed after ResultSet closed” with Web Page read

java - CompletableFuture 与 Spring 事务

java - 类加载相关的war部署错误

java.lang.ClassCastException : java. lang.String 无法转换为 [Ljava.lang.Object;当尝试通过 Hibernate 将列值获取到列表时

java - 如何为 @Async 方法使用自定义执行器?

java - 我正在使用运算符 |和 & 但没有得到正确的答案

java - 无法生成一排敌人,仅生成一个敌人 :\

java - groovy http-builder 模块现在在哪里?

spring - Spring 3.0中@Value注解的不方便