To unsubscribe from this group and stop receiving emails from it, send an email to swagger-swaggersocket+unsub...@googlegroups.com.
I’ve REST annotations on my interface,
@Path("/v1")
@Local
@Api(value = "/v1", description = "rest api")
public interface MyRestService
{
@GET
@Path("/token")
@Produces("application/json")
@ApiOperation(value = "Get token", response = String.class)
public Response getToken();
}
this is implemented by following class,
@Stateless
public class MyServiceImpl implements MyRestService
{
@EJB
private TokenProviderLocal _tokenProvideLocal;
@Override
public Response getToken()
{
return _tokenProvideLocal.getToken();
}
}
Swagger Bootstrap is defined as below,
public class Bootstrap extends HttpServlet {
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.0");
beanConfig.setSchemes(new String[]{"http"});
beanConfig.setHost("localhost:8180");
beanConfig.setBasePath("/api");
beanConfig.setResourcePackage("com.xxx.service");
beanConfig.setScan(true);
}
}
The web.xml is as follows,
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<context-param>
<param-name>resteasy.servlet.mapping.prefix</param-name>
<param-value>/</param-value>
</context-param>
<context-param>
<param-name>resteasy.jndi.resources</param-name>
<param-value>global/app/api/MyServiceImpl!com.xxx.service.MyRestService</param-value>
</context-param>
<context-param>
<param-name>resteasy.providers</param-name>
<param-value>
io.swagger.jaxrs.listing.ApiListingResource,
io.swagger.jaxrs.listing.SwaggerSerializers
</param-value>
</context-param>
<listener> <listener-class> org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
</listener>
<servlet>
<servlet-name>resteasy-servlet</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>resteasy-servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Bootstrap</servlet-name>
<servlet-class>com.xxx.service.Bootstrap</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<security-constraint>
<web-resource-collection>
<web-resource-name>my-rest</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>DELETE</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>user</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<role-name>user</role-name>
</security-role>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>mySecure</realm-name>
</login-config>
</web-app>
When I load the war file in JBOSS, the web services are running fine but accessing /swagger.json given following 404 error,
Could not find resource for relative : /swagger.json of full path: http://myhost.com/api/swagger.json
Could not find resource for relative : /swagger.json of full path: http://myhost.com/api/swagger.json
Will switching on detailed logging in swagger provide any insight here?