现在用一个swagger查一下接口是否可以成功。但是,看不见方法里面的必须要传的字段呢?
下面是swagger的页面,没有后端 对应的userId type songId 呢?
现在用一个swagger查一下接口是否可以成功。但是,看不见方法里面的必须要传的字段呢?
收起
1、swagger2和swagger3,有些区别,你可以查看两个版本具体的注解使用情况。
以下说的是基于swagger3的,有些注解是兼容swagger2的
2、如果有明确的参数,你可以使用@Parameter(description = "")对每个参数进行说明;
3、如果参数是一个对象,你可以在对象类名或者属性上使用注解@Schema(description = ""),这样在swagger-ui里面,有一个Schema模块,可以看到该对象的字段说明;
4、如果你的参数是类似于Map这种,比说你的request,可以在方法上添加@Parameters,swagger2是用 @ApiImplicitParams({
@ApiImplicitParam(name = "", value = "", required = true, dataType = ""),
@ApiImplicitParam(name = "", value = "", required = true, dataType = ""),
}
)
把request中用到的参数都添加到注解里面进行说明。swagger注解里面的参数不影响方法逻辑,你可以当做一个注释,可以和你方法中的实际参数不一致。
PS:开发中,有句关于Map传值的说法,叫做开发一时爽,维护火葬场,尽量不要用Map传值,这个和魔法值类似。
你的代码中,如果request里面的参数不多,可以明确指定需要传递的参数,如果参数比较多,可以定义一个对象来传值。使用request.getParameter()最好是添加好注释,作为接口,开发和调用不是用一个人,需要添加详细的说明。
说得挺详细的。我都用的是swagger2
报告相同问题?