2
我發現了招搖的和招搖的,我喜歡這個方法。我已經設法讓它至少在Spring啓動時工作。 現在我想將swagger集成到運行在wildfly 9上的Java EE應用程序中。012xx不幸的是,這根本不起作用。 Swagger的記錄確實很差。不能得到招搖的工作(野蠻9)
讓它工作的必要條件是什麼?我從的官方招搖會文件中看到了這些說明。
這是我的build.gradle招搖依賴性:
compile 'io.swagger:swagger-jaxrs:1.5.4'
這是我的JAX-RS應用程序類:
public class SmamblRestApiApplication extends Application {
private Set<Class<?>> classes = new HashSet<>();
public SmamblRestApiApplication() {
initClasses();
}
private void initSwagger() {
BeanConfig beanConfig = new BeanConfig();
beanConfig.setTitle("SmamblV1");
beanConfig.setVersion("1.0");
beanConfig.setSchemes(new String[]{"http"});
beanConfig.setHost("localhost:8080");
beanConfig.setBasePath("/rest/v1");
beanConfig.setResourcePackage("com.myapp.api.v1.rest");
beanConfig.setScan(true);
}
private void initClasses() {
//--- Api Endpoints --------------------------------------
classes.add(RegistrationApi.class);
classes.add(MigrationApi.class);
classes.add(PhoneNumberApi.class);
classes.add(UserResourceApi.class);
classes.add(MonitoringApi.class);
classes.add(PingApi.class);
classes.add(PublicUserResource.class);
//--- Filters --------------------------------------------
classes.add(ApiExceptionMapper.class);
classes.add(SecurityRolesFilter.class);
//--- Swagger --------------------------------------------
classes.add(ApiListingResource.class);
classes.add(SwaggerSerializers.class);
}
@Override
public Set<Class<?>> getClasses() {
return classes;
}
}
而且我甚至標註的一個方法有招搖註釋:
@Path("private/user")
@RolesAllowed({UserRole.USER})
@NoCache
@Api
public class UserResourceApi {
@Inject
UserFacade userFacade;
@RolesAllowed(UserRole.ADMIN)
@Produces(MediaType.APPLICATION_JSON)
@GET
@ApiOperation("test")
public List<UserResource> getAllUsers() {
return userFacade.findAllUsers();
}
// ...
當試圖到達swagger.json,如上面的文檔中所述,一個空文件是返回(沒有404或s.th.,所以我相信一些工作,但不輸出任何東西)。 我能做什麼?
Btw。任何人都可以解釋我com.wordnik和io.swagger包之間的區別嗎?
哦,不,我忘了打電話給我自己的方法。這太尷尬了:-D謝謝你的提示! – peez80