如何使用我自己的注释来构建 swagger ui 页面。例如,我定义了注释并使用它:
@PUT
@MyOwnAnnotationForAdditionalPropInSwagger(value = "Some text")
@Path( "/{carId}" )
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(
value = "Updates car info"
)
public Response patchItem(@ApiParam(value = "Fields to update") Car item) {
/*some code*/
}
Run Code Online (Sandbox Code Playgroud)
之后可能我应该扩展一些类swagger-core并指定扫描我的注释(@MyOwnAnnotationForAdditionalPropInSwagger)。
因此,我想在带有文本的 swagger ui 中看到额外的列。
我怎么能意识到呢?我需要扩展什么课程?
我有基于Jersey 1.18.1的RESTful服务,我想通过Swagger显示我的API .
首先,我必须得到JSON.我读了这个指令:Swagger Core Jersey 1.X Project Setup 1.5.Swagger允许设置不同的配置方法,我决定使用自定义的Application子类.我一步一步地做了所有事情,但我不能得到我必须用于swagger-ui的 JSON .
我做了什么:
我的自定义应用程序
@ApplicationPath("api/v1")
public class DiscountsApp extends Application{
public DiscountsApp() {
BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.2");
beanConfig.setSchemes(new String[]{"http"});
beanConfig.setHost("localhost:8002");
beanConfig.setBasePath("swaggerapi");
beanConfig.setResourcePackage("alexiuscrow.diploma.endpoints");
beanConfig.setScan(true);
}
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> resources = new HashSet();
resources.add(ShopsResources.class);
//...
resources.add(com.wordnik.swagger.jaxrs.listing.ApiListingResource.class);
resources.add(com.wordnik.swagger.jaxrs.listing.SwaggerSerializers.class);
return resources;
}
}
Run Code Online (Sandbox Code Playgroud)
ShopsResources
@Path("/shops")
@Api(value="/shops", description="Shops")
public class ShopsResources {
@GET
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "List shops", httpMethod = "GET",
notes = "List nearest …Run Code Online (Sandbox Code Playgroud) 当我尝试在 gradle.properties 文件中写这样的东西时:
defaultTasks=['deploy']
Run Code Online (Sandbox Code Playgroud)
我收到下一条消息:
BUILD FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Cannot cast object '['deploy']' with class 'java.lang.String' to class 'java.util.List'
Run Code Online (Sandbox Code Playgroud)