我正在寻找以编程方式为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);

09-04 19:18