0
Ich versuche, swagger.json von meinen Java-Rest-Endpunkten zu generieren.Wie bekomme ich swagger json separat?
pom
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jaxrs</artifactId>
<version>1.5.9</version>
</dependency>
ApplicationPath
import javax.ws.rs.ApplicationPath;
@ApplicationPath("/rest")
public class RestApplication extends Application {
public RestApplication() {
BeanConfig beanConfig = new BeanConfig();
//beanConfig.setVersion("1.0");
beanConfig.setSchemes(new String[] { "http" });
beanConfig.setTitle("My API");
beanConfig.setBasePath("/rest");
beanConfig.setResourcePackage("com.test.rest");
beanConfig.setScan(true);
}
@Override
public Set<Class<?>> getClasses() {
HashSet<Class<?>> set = new HashSet<Class<?>>();
set.add(com.test.AddressEndpoint.class);
set.add(com.test.ATGEndpoint.class);
set.add(com.test.CompanyEndpoint.class)
set.add(io.swagger.jaxrs.listing.ApiListingResource.class);
set.add(io.swagger.jaxrs.listing.SwaggerSerializers.class);
return set;
}
}
AddressEndpoint
@Api
@Singleton
@Path("/Addresss")
@Produces("application/json")
@ConcurrencyManagement
@Lock(LockType.READ)
public class AddressEndpoint {
private static final Logger log = Logger.getLogger(AddressEndpoint.class.getName());
@Context
private HttpRequest httpRequest;
@Inject
AddressService AddressService;
/**
* @description creates a new Address
* @status 400 Address country cannot be null
* @status 400 Address address2 cannot be null
* @status 400 Address city cannot be null
* @status 400 Address address1 cannot be null
* @status 400 Address postcode cannot be null
* @status 400 Address id cannot be null
* @status 400 Address state cannot be null
* @status 201 Address created successfully
*/
@POST
@Consumes("application/json")
public Response create(Address entity) {
AddressService.insert(entity);
return Response.created(UriBuilder.fromResource(AddressEndpoint.class).path(String.valueOf(entity.getId())).build()).build();
}
...
Wenn ich meine Testdbwar in Wildfly, bereitstellen, versuche ich auf meine JSON wie zugreifen; http://localhost:8080/testdbwar/rest/swagger.json?
und ich bekomme einen großen json, die alle jsons enthält.
- Wie kann ich Json getrennt für jeden Endpunkt erhalten?
- Kann ich sie lokal in einem Dateisystem generieren lassen?
- Die große JSON-Datei lädt die Benutzeroberfläche sofort. Ich möchte separate Links für jeden Endpunkttyp haben.
Was ist das Java-Framework, das Sie verwenden? Oder können Sie einen beliebigen Link posten, den Sie befolgen, um Swagger zu konfigurieren? –
@SupunWijerathne io.swagger Bibliothek – Ratha
Nein. Was ich fragte, war das Anwendungsframework, zB: Spring MVC, Play etc.? –