如何编写正确Swagger注释以接收无参数定义的请求体块?
解决方法
要实现只显示请求体块、不显示参数名称的效果,需要调整Swagger注释中@Param的写法,具体如下:
调整后的Swagger注释
// @Summary Проверка checkProof // @Description **Проверка checkProof** // @Tags TONProof // @Accept json // @Produce json // @Param body datatype.TonProof true "Данные checkProof" // @Success 200 {object} ProofResponse // @Failure 400 {object} ErrMessage // @Failure 500 "Internal Server Error" // @Router /ton-proof/checkProof [post] func (h *handler) ProofHandler(c echo.Context) error {...}
原理说明
Swagger规范中,body是请求体类型的特殊关键字。将@Param的参数名指定为body后,生成的YAML结构会直接把请求体定义在requestBody字段下,而非作为带名称的独立参数,这样文档就只会展示请求体的结构块,不会显示多余的参数名称。
内容的提问来源于stack exchange,提问作者Ilya
相关产品推荐
相关产品推荐

