0
私はApache CXFとEmbedded Jettyを使用するRESTサービスを持っています。私は、CXF Swagger2Featureを使用してスワガードキュメントを実装したいと思いますが、スワッガーUIは「仕様に定義されている操作がありません!」と返します。The CXF Swagger2Feature
私は注釈とプロパティを使いこなそうとしましたが、私が行ったことは同じ出力を示しています。
public class AppConfig {
@Bean(destroyMethod = "shutdown")
public SpringBus cxf() {
return new SpringBus();
}
@Bean
public Server jaxRsServer() {
Swagger2Feature feature = new Swagger2Feature();
feature.setUsePathBasedConfig(true);
feature.setResourcePackage("com.phoenixbv.rs");
feature.setResourcePackage(MaterialsRestService.class.getPackage().getName());
feature.setScanAllResources(true);
JAXRSServerFactoryBean factory = RuntimeDelegate.getInstance().createEndpoint(jaxRsApiApplication(), JAXRSServerFactoryBean.class);
factory.setServiceBeans(Arrays.<Object>asList(baseRestService(), peopleRestService(),materialsRestService(),batchRestService(),billingRestService(),locationRestService()));
factory.setAddress(factory.getAddress());
factory.setProviders(Arrays.<Object>asList(jsonProvider(), authenticationService()));
factory.getFeatures().add(feature);
return factory.create();
}
とサービスクラス:
は、ここに私のコードです。
闊歩-UIおよびサービス記述-闊歩両方が現在、私が使用しています私のための問題を解決するために、依存関係にアーティファクトのバージョンを変更する
@Path("/materials")
@Api(value="Materials", description = "Endpoint for Material specific operations")
public class MaterialsRestService extends BaseRestService {
@Inject
private GenericUserRightsUtil genericUserRightsUtil;
@Inject
private PxMaterialService materialsService;
@Produces({ "application/json" })
@GET
@ApiOperation(value = "GetAllMaterials", notes = "Returns a list of materials", response = MaterialsRestService.class)
@ApiResponse(code = 200, message = "Successful retrieval of all materials", response = MaterialsRestService.class)
public Response getMaterialList(@Context SecurityContext securityContext) {
Principal principal = securityContext.getUserPrincipal();
String empid = principal.getName();
Employee emp = getLoggedInUser(empid);
if((!genericUserRightsUtil.get(emp, Material.class).hasRights(UserRights.Dump))){
return null;
}
return Response.status(200).entity(materialsService.getMaterialList()).build();
}
をすることができ/services/swagger.jsonの結果を追加してください。 –