Правильное использование NonEmptyStringParam в Dropwizard - PullRequest
0 голосов
/ 28 июня 2018

Я новичок в использовании Dropwizard и следую инструкциям на веб-сайте, чтобы создать приложение hello world. Может кто-нибудь, пожалуйста, объясните мне, как использовать NonEmptyStringParam, чтобы напечатать что-то вроде «Привет, незнакомец!» если для sayHello не указан параметр?

Ниже приведен мой код ресурса, и он выводит:

{"id":1,"content":"Hello, Optional[Stranger]!"}

вместо

{"id":1,"content":"Hello, Stranger!"}

public class HelloWorldResource {
    private final String template;
    private final NonEmptyStringParam defaultName;
    private final AtomicLong counter;

    public HelloWorldResource(String template, String defaultName) {
        this.template = template;
        this.defaultName = new NonEmptyStringParam(defaultName);
        this.counter = new AtomicLong();
    }

    @GET
    @Timed
    public Saying sayHello(@QueryParam("name") Optional<NonEmptyStringParam> name) {
        final String value = String.format(template, name.orElse(defaultName));
        return new Saying(counter.incrementAndGet(), value);
    }
}

Спасибо!

1 Ответ

0 голосов
/ 02 июля 2018

Вы не должны обернуть NonEmptyStringParam Optional<>. См. тестовый пример из источника Dropwizard . Также удалите перенос defaultName с NonEmptyStringParam в методе конструктора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...