我正在寻找以编程方式为dropwizard创建端点。可以通过球衣获得,如here所示。
任何想法如何做到这一点?这是我尝试过的一些示例代码,但是没有用:
Resource.Builder resourceBuilder = Resource.builder();
resourceBuilder.path("helloworld");
ResourceMethod.Builder methodBuilder = resourceBuilder.addMethod("GET");
methodBuilder.produces(MediaType.APPLICATION_JSON).handledBy(new Inflector<ContainerRequestContext, Object>() {
@Override
public Object apply(ContainerRequestContext containerRequestContext) {
return "HELLO";
}
});
environment.jersey().register(resourceBuilder.build());
最佳答案
我有同样的问题。
当我在ResourceConfig中注册资源时,它可以工作。
Resource.Builder resourceBuilder = Resource.builder();
resourceBuilder.path("helloworld");
ResourceMethod.Builder methodBuilder = resourceBuilder.addMethod("GET");
methodBuilder.produces(MediaType.APPLICATION_JSON).handledBy(new Inflector<ContainerRequestContext, Object>() {
@Override
public Object apply(ContainerRequestContext containerRequestContext) {
return "HELLO";
}
});
environment.jersey().getResourceConfig().registerResources(resource);