Spring boot 带有swagger生成接口的ResponseEntity返回类型通配符

Spring boot 带有swagger生成接口的ResponseEntity返回类型通配符,spring-boot,swagger-2.0,swagger-codegen,Spring Boot,Swagger 2.0,Swagger Codegen,我想知道当Swagger生成的API接口包含两个不同的类作为返回类型时,使用通配符返回ResponseEntity与返回类型返回ResponseEntity之间的区别,即一个用于异常,另一个用于正常流 我的控制器接口是:- @操作(summary=“按用户名获取用户”,标记={“用户”}) @ApiResponses(值={ @ApiResponse(responseCode=“200”,description=“successful operation”,content=@content(sc

我想知道当Swagger生成的API接口包含两个不同的类作为返回类型时,使用通配符返回
ResponseEntity
与返回类型返回
ResponseEntity
之间的区别,即一个用于异常,另一个用于正常流

我的控制器接口是:-

@操作(summary=“按用户名获取用户”,标记={“用户”})
@ApiResponses(值={
@ApiResponse(responseCode=“200”,description=“successful operation”,content=@content(schema=@schema(implementation=User.class)),
@ApiResponse(responseCode=“400”,description=“提供的用户名无效”,content=@content(schema=@schema(implementation=Error.class)))
})
@GetMapping(value=“/user/{username}”,products={“application/xml”,“application/json”})
ResponseEntity getUserByName(@PathVariable(“用户名”)字符串用户名);
@Schema定义返回类型

对于
getUserByName
方法,我是否可以使用
ResponseEntity
而不是

我的应用程序中有全局异常处理程序
@ControllerAdvice
,它使用通配符(ResponseEntity)作为返回类型返回
ResponseEntity

,符号?定义控制器方法的返回值可以是任何类型的ResponseEntity。但实际上,这样做并不是一个好的做法。因此,您必须以这种格式ResponseEntity声明控制器方法的确切返回类型,或者您可以简单地将其保留为ResponseEntity

让我们以返回对象列表(list)的java方法为例。是否可以在此列表中添加一种汽车类型,一种厢式货车类型。但无论如何,方法的使用者都不应该处理这样的破坏性问题,我们必须定义一个确切的类型

是的,如果方法返回用户类型ResponseEntity,则可以使用ResponseEntity


我希望这将帮助您解决此问题:)

请正确编辑此问题。