Я новичок в использовании 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);
}
}
Спасибо!