swagger2.9+参数类型为String+使用RequestBody注解的传参问题
Controller中某个接口如下:
@RequestMapping(value = "/token/refresh", method = RequestMethod.POST)
@ApiOperation(value = "刷新token", notes = "通过refreshToken获取accessToken")
@ApiResponses({
@ApiResponse(code = 200, message = "If successful, this method return JwtAccessTokenVO.", response = JwtAccessTokenVO.class),
@ApiResponse(code = 400, message = "If bad request."),
@ApiResponse(code = 500, message = "If internal server error."),
@ApiResponse(code = 503, message = "If service unavailable.")
})
public Response getAccessToken(
@RequestBody
String refreshToken) {
JwtAccessTokenVO jwtAccessTokenVO = authService.getAccessToken(refreshToken);
return new Response(HttpStatus.OK.value(), jwtAccessTokenVO);
}
在该接口中我们使用了@RequestBody注解用于String类型的参数,我们的swagger版本号为2.9.在swagger界面中查看该接口,如下:
我们发现示例输入为“string”。
问题:当我们将正确的token输入时发现接口调用返回失败:
经过多次反复检查和测试发现,将双引号去掉时才可调用成功: