AutoValue Object как GET в контроллере - PullRequest
0 голосов
/ 29 сентября 2018

Привет, я не могу использовать объект AutoValue в качестве объекта параметра в конечной точке GET контроллера Spring.Тем не менее, POST работает нормально.Можно ли использовать автоматическое значение с конечными точками GET?

Спасибо, Хорхе

@AutoValue
@JsonDeserialize(builder = AutoValue_InformeCampoCreateRequest.Builder.class)
public abstract class InformeCampoCreateRequest {
    @NotNull
    @JsonProperty("id")
    public abstract long id();

    @NotNull
    public static Builder builder() {
        return new AutoValue_InformeCampoCreateRequest.Builder();
    }

    @AutoValue.Builder
    public static abstract class Builder {

        @NotNull
        @JsonProperty("id")
        public abstract Builder id(@NotNull long id);

        @NotNull
        public abstract InformeCampoCreateRequest build();
    }
}

И у меня есть эта конечная точка с объектом в качестве параметра GET

@GetMapping(value = "/informes")
public ResponseEntity<?> create(InformeCampoCreateRequest informeCampoCreateRequest) {

    return ok(null);
}

ТогдаВесна жалуется на:

org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.almundo.api.flights.worldspan.availability.presentation.InformeCampoCreateRequest]: Is it an abstract class?; nested exception is java.lang.InstantiationException\n\tat org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:173)\n\tat org.springframework.web.method.annotation.ModelAttributeMethodProcessor.constructAttribute(ModelAttributeMethodProcessor.java:243)\n\tat org.springframework.web.method.annotation.ModelAttributeMethodProcessor.createAttribute(ModelAttributeMethodProcessor.java:217)\n\tat org.springframework.web.servlet.mvc.method.annotation.ServletModelAttributeMethodProcessor.createAttribute(ServletModelAttributeMethodProcessor.java:84)\n\tat org.sp
...