我为不需要请求主体的GET请求编写了一个醒目的ui。我没有使用@RequestBody
注释,所以Swagger为什么在ui上显示请求正文字段?即使我将其保留为空,也会导致我的API请求失败,并显示以下错误:TypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body.
我了解为什么会出现此错误,昂首阔步创建的curl
有一个-d
选项。但是如何关闭呢?
我唯一使用的注释是@Get
,@Path
,@Operation
,@ApiResponses
和@Parameters
。
简单地说,我怎么能告诉我不需要请求正文?
答案 0 :(得分:0)
如果您未注释方法的某些参数,则会自动将其视为请求正文。如果您不希望这样做,则必须将其显式地注释为其他内容,或使用@ApiParam(hidden = true)
这样的注释来忽略参数:
// example usage of Swagger with Akka HTTP
@ApiOperation(
httpMethod = "GET",
response = classOf[ApiResponseX],
value = "docs"
)
@ApiImplicitParams(
Array(
new ApiImplicitParam(
name = "id",
dataType = "string",
paramType = "query",
value = "id docs"
)
)
)
def fetchX(
// even if this value has custom handling I have to explicitly ignore it,
// to not make it into a request body
@ApiParam(hidden = true) id: UUID
): Route = ...