2

Swagger を使用して API サーバーを起動しようとしています。web.xml をまったく使用せず、代わりに Java ですべてを構成します。Swagger JAX-RS チュートリアルの指示に従おうとしていますが、まだ問題があります。Git の最新コードを使用しています (ローカルにインストールされた 1.2.1-SNAPSHOT)

final Server jetty = injector.getInstance(Server.class);

ServletContextHandler sch = injector.getInstance(ServletContextHandler.class);
sch.setInitParameter("swagger.api.basepath", "http://localhost:8090");
sch.setInitParameter("api.version", "0.1");

JuiceContainer unprotected = new JuiceContainer(injector, ApiListingResource.class);
sch.addFilter(new FilterHolder(unprotected), "/*", null);
sch.addServlet(DefaultServlet.class, "/");

ApiListingResource は、チュートリアルで提案されているとおりです。

@Path("/resources.json")
@Api("/resources")
@Produces(MediaType.APPLICATION_JSON)
public class ApiListingResource extends JavaApiListing { }

残念ながら、サーバーを起動すると、次のエラーが発生します。

SEVERE: The following errors and warnings have been detected with resource and/or provider classes:
  SEVERE: Missing dependency for method public javax.ws.rs.core.Response com.wordnik.swagger.jaxrs.JavaApiListing.getAllApis(javax.servlet.ServletConfig,javax.ws.rs.core.Application,javax.ws.rs.core.HttpHeaders,javax.ws.rs.core.UriInfo) at parameter at index 0
  SEVERE: Method, public javax.ws.rs.core.Response com.wordnik.swagger.jaxrs.JavaApiListing.getAllApis(javax.servlet.ServletConfig,javax.ws.rs.core.Application,javax.ws.rs.core.HttpHeaders,javax.ws.rs.core.UriInfo), annotated with GET of resource, class com.wordnik.swagger.jaxrs.JavaApiListing, is not recognized as valid resource method.
4

1 に答える 1

2

私はこれを Swagger で自分で修正しました。現在、プル リクエストが開かれています。

于 2013-03-13T18:33:26.573 に答える