0
我已經使用NettyJaxrsServer
創建了獨立應用程序。在一種情況下,我想獲取請求的IP到服務器。如何做到這一點。?如何獲取嵌入式NettyJaxrsServer中的請求的客戶端IP
我這裏有POM具有依賴性
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-netty</artifactId>
<version>3.0.10.Final</version>
</dependency>
我曾嘗試使用下面的代碼創建的NettyJaxrsServer
。
public void createServer()
{
server = new NettyJaxrsServer();
server.setDeployment(getDeployment());
server.setPort(configuration.getPort());
server.setSecurityDomain(null); server.setRootResourcePath(configuration.getResourceRootPath());
}
public ResteasyDeployment getDeployment() {
final ResteasyDeployment dp = new ResteasyDeployment();
final Collection<Object> controllers = new ArrayList<Object>();
controllers.add(ctx.getBean(TestIP.class));
dp.getResources().addAll(controllers);
return dp;
}
和我的web服務類
@Path("/test")
@Component
public class TestIP {
@GET
@Path("/pingIp")
@Produces(MediaType.APPLICATION_JSON)
public String getAd(@Context HttpServletRequest servletRequest) {
return servletRequest.getRemoteAddr();
}
}
而遭遇servletRequest.getRemoteAddr();
它拋出的異常org.jboss.resteasy.spi.LoggableFailure
。請一些身體幫助我找出我在這裏做錯了什麼。提前致謝..!