- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 jersey 2 和 grizzly 上设置了 swagger(没有 web.xml)。我可以访问 swagger 页面,但是我的 API 资源没有出现。
我的主文件如下所示
`
package com.beraben.jersey.test;
import com.wordnik.swagger.jaxrs.config.BeanConfig;
import java.net.URI;
import org.glassfish.grizzly.http.server.CLStaticHttpHandler;
import org.glassfish.grizzly.http.server.HttpServer;
import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
import org.glassfish.jersey.server.ResourceConfig;
/**
*
* @author Evan
*/
public class jerseyTestMain {
/**
* @param args the command line arguments
*/
public static final String BASE_URI = "http://localhost:8080/myapp/";
public static HttpServer startServer() {
// create a resource config that scans for JAX-RS resources and providers
// in com.example.rest package
final ResourceConfig rc = new ResourceConfig().packages("com.beraben.jersey.test", "com.wordnik.swagger.jersey.listing");
BeanConfig config = new BeanConfig();
config.setResourcePackage("com.beraben.jersey.test");
config.setVersion("1.0.0");
config.setScan(true);
// create and start a new instance of grizzly http server
// exposing the Jersey application at BASE_URI
return GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc);
}
public static void main(String[] args) throws InterruptedException {
final HttpServer server = startServer();
CLStaticHttpHandler staticHttpHandler = new CLStaticHttpHandler(jerseyTestMain.class.getClassLoader(), "swagger-ui/");
server.getServerConfiguration().addHttpHandler(staticHttpHandler, "/docs");
Object syncObj = new Object();
synchronized (syncObj) {
syncObj.wait();
}
}
}
`
我还有一个 API 设置,如下所示
package com.beraben.jersey.test;
import com.wordnik.swagger.annotations.Api;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
/**
*
* @author Evan
*/
@Path("myresource")
@Api(value = "/myresource")
public class MyResource {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getIt(){
return "Got it!";
}
}
我使用它正确返回的 API 没有问题。
但由于某种原因,我无法大肆展示有关 API 调用的详细信息,我是否需要做更多的事情才能让它在我的代码中显示有关现有 API 的详细信息?
我的静态文件是从示例项目复制的 jersey2-grizzly2-swagger-demo
另外,作为引用,这是我的 pom 文件(与演示项目没有什么区别,我不使用 dependencyManagment 来获取 jersey-bom,而是直接引用它)。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.beraben</groupId>
<artifactId>jersey-test</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey.archetypes</groupId>
<artifactId>jersey-quickstart-grizzly2</artifactId>
<version>2.22.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey</groupId>
<artifactId>jersey-bom</artifactId>
<version>2.22.2</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-grizzly2-http</artifactId>
<version>2.22.2</version>
</dependency>
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-jersey-jaxrs_2.10</artifactId>
<version>1.3.13</version>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
最佳答案
查看谷歌表单后,发现独立版本的 swagger 实际上不起作用。
我创建了一个单独的 Maven Web 应用程序,并将我的 Jersey 项目添加为依赖项。在摆弄了与我正在使用的 Jersey 版本相匹配的 Swagger 版本后,这成功了。
关于java - 没有出现在 Jersey 2 上使用 swagger 和 grizzly 的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43781118/
Maven: org.glassfish.grizzly grizzly-websockets 2.3.1
启动 GlassFish 4.1.1 服务器(Grizzly Framework 2.3.23)时,显示以下警告消息:无法初始化实例。类=接口(interface) org.glassfish.gri
下面是启动 Grizzly Http Server 的代码。如果我按任何键,服务器就会停止。有什么办法让它活着。 Jetty 有 join() 方法,不会退出主程序。灰熊中是否也有类似的东西。 pub
我已经搜索了很多,但仍然不明白使用 Grizzly 是否意味着我可以免受这些攻击,或者我应该付出更多努力? 目前,我在程序中所做的唯一一件事就是通过以下代码将资源类(由 @Path 注释 - 我正在使
我正在使用 Jersey Grizzly,并且想要对 Grizzly 实现基本身份验证。我按如下方式创建 grizzly 服务器: ResourceConfig rc = new PackagesRe
有没有办法绑定(bind)grizzly对我的 Java 应用程序是动态的/透明的(可能通过使用 spring)?或者是 Web 容器的 IO 处理部分(例如 Glassfish)? 最佳答案 您的意
我有这个服务器设置和路由代码。 package net.randohinn.neo; import java.io.IOException; import java.text.SimpleDateFo
我已将此示例实现到我的应用程序中: https-clientserver-grizzly 这是来自该链接的 Server.java: public class Server { private
我已经使用 maven 设置了一个独立的 grizzly/jersey 服务器并引用了以下依赖项 org.glassfish.grizzly grizzly-http-server 2.
我正在尝试使用 grizzly 2.3 Web 服务器将 MyHttpHandler 映射到自定义 url,如下所示(应该是 RESTfull url,如 /entity/42/attribute):
我创建了一个 grizzly Web 服务器,从 tomcat 运行我的 Jersey 应用程序,以加快测试速度。 我是一个 grizzly 初学者,但是通过网络我将一些代码行放在一起,以便在不到一个
目前在我的应用程序中,如果我转到 http://localhost:8181/index.htm 它工作得很好,如果我转到 http://localhost:8181 我收到 404 错误。如何让 G
我创建了一个返回 JSON 的 Grizzly 服务器。效果很好: final ResourceConfig resourceConfig = new ResourceConfig().pac
如何关闭 Grizzly 的日志记录? 我想关闭以下日志记录: Okt 18, 2018 8:42:24 AM org.glassfish.grizzly.http.server.NetworkLis
我正在使用带有嵌入式版本的 Grizzly 的 Jersey,我只想在本地主机上绑定(bind)/监听。我正在通过创建调用使用 GrizzlyWebContainerFactory 创建 Thread
我写了下面的测试代码: @Test public void testLeakWithGrizzly() throws Throwable { ExecutorService executor
如何设置或增加连接限制或最大值。我创建的 grizzly HttpServer 中工作线程的池大小: HttpServer server = HttpServer.createSimpleServer
我正在使用 Grizzly HttpServer,它注册了两个 HttpHandler 实例: 在 /api/* 下有一个 Jersey REST 风格的应用程序,提供产品的 API,并且 在 /*
我有一个在嵌入式 Grizzly 上运行的 Jersey 应用程序,其初始化如下: HttpServer httpServer = GrizzlyServerFactory.createHttpSer
本文整理了Java中org.glassfish.grizzly.websockets.WebSocketEngine类的一些代码示例,展示了WebSocketEngine类的具体用法。这些代码示例主要
我是一名优秀的程序员,十分优秀!