我尝试在SpringBoot(1.5.8)中使用Swagger(2.6)和Jersey(1.5)
我对公共API的调用工作正常
我试着用Jersey跟踪这个Config Swagger ui,但它仍然没有回来。
这是我的球衣配置
@Configuration
@ApplicationPath("rest")
public class JerseyConfig extends ResourceConfig {
public JerseyConfig()
{
register(CustomerImpl.class);
configureSwagger();
}
public void configureSwagger()
{
this.register(ApiListingResource.class);
this.register(SwaggerSerializers.class);
BeanConfig beanConfig = new BeanConfig();
beanConfig.setTitle("Swagger sample app");
beanConfig.setVersion("1.0.0");
beanConfig.setSchemes(new String[]{"http"});
beanConfig.setHost("localhost:57116");
beanConfig.setBasePath("/rest");
beanConfig.setResourcePackage("com.mypackage");
beanConfig.setScan(true);
}
}
这是我的应用类
@SpringBootApplication
@EnableDiscoveryClient
@EnableSwagger2
public class CustomerApplication {...}
这是我的endpoint
@Component
@Path("customer")
@Api(value = "Customer API")
public class CustomerImpl {
@Path("list")
@GET
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "list")
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Success", response = List.class),
@ApiResponse(code = 401, message = "Unauthorized"),
@ApiResponse(code = 403, message = "Forbidden"),
@ApiResponse(code = 404, message = "Not Found"),
@ApiResponse(code = 500, message = "Failure")})
public String[] getList()
{
return new String[]{"IBM", "Microsoft", "Victor"};
}
}
当我使用Spring Rest控制器尝试类似的配置时,它工作正常,但是对于泽西岛,我看不到我的公共API。它似乎忽略了我的炫耀配置
您是否使用org.springframework.boot:sping-boot-starter-jersey
依赖或org.springframework.boot:sping-boot-starter-web
在您的pom.xml
?
似乎您使用的是由< code>SpringFox生成的Swagger bean,而不是由您的< code>BeanConfig生成的。
为了让Swagger工作,您应该依赖spring boot starter jersey
并删除所有SpringFox依赖项,包括@EnableSwagger2
annotation。
Jersey应用程序中的< code>swagger.json由< code > io . swagger:swagger-Jersey 2-jaxrs 库生成。至于Swagger UI,可以使用vanilla Swagger UI静态资源。
您可能还需要将 BeanConfig 中的资源包更改为应用程序基本包。目前,您有:
beanConfig.setResourcePackage("io.swagger.resources");
这是一个Spring Boot、Jersey和Swagger的工作示例。在此示例中,资源包设置为应用程序基本包:
beanConfig.setResourcePackage("com.basaki");
我有一个运行spring-boot、jersey2和spring度量的应用程序:下面是maven片段: 在引入致动器依赖性之前,Jersey一直工作得很好。然后创建了以下bean以使Jersey作为过滤器工作: 度量被映射到/admin路径。使用这种配置,我无法使度量标准工作。但是,通过添加management.port(不同于主应用程序端口),既可以使用Jersey资源,也可以使用metrics
我遵循了以下步骤:http://springfox.github.io/springfox/docs/current/ 以下是我所做的: > build.gradle: 当我启动服务器并导航到http://localhost:8080/swagger-ui.html时,我可以看到“绿色”UI屏幕,其中只列出了basic-error-controller。我自己的控制器不在那里。 我做错了什么?谢谢
我想在灰熊上使用Guice泽西2.0。根据这个如何将guice-servlet与泽西2.0一起使用?讨论目前没有直接用于Jersey2的Guice集成,但可以使用HK2作为桥梁来实现。我还检查了Githubhttps://github.com/piersy/jersey2-guice-example-with-test中的示例项目。这个项目是使用Jetty实现的。 但我的问题是在Grizzly中实
问题内容: 我想使用Jersey来实现一些Java REST服务。默认的POJO转换器JAXB处理JSON对象有点奇怪,因此我想使用Jackson转换POJO的开销很少或更少。我如何告诉J2ME框架使用另一个转换器? 我的web.xml看起来像这样: 问题答案: 只需添加jackson JAR并修改web.xml即可,如下所示: 所需的Jackson Jackson JAR(http://jack
我正在使用Swagger和泽西岛1。它生成斯瓦格规格 v1.2 中的规范。大多数工具(例如编辑器)都需要规范v2.0。有没有办法生成规范v2.0? 我实际上想要像bootprint swagger这样的可打印/静态文档,这也需要规范v2.0。
首先,问题是当我从rest servlet调用ejb时,ejb总是null。 我在jersey spring 3.0.5中开发了一个rest web服务。以及用于服务的EJB3.1。 我已经在耳朵里打包了war和jar,所以我的应用程序看起来像(我使用maven作为依赖): 我想知道如何从war文件中的类调用jar文件中的服务。据我记忆,这是通过JNDI,我需要公开ejb apis?我应该怎么做?