Сущность javax.ws.rs.core.response не поддерживает @jsonproperty

Я создал метод отдыха, например

@GET
@Path("/test/output")
public Response getOffers(){
   Test response = new Test();
   return Response.status(200).entity(response).build();
}

class Test{
    @JsonProperty("first_name")
    String firstName;
}

Теперь, когда я вижу ответ, я вижу ответ, как показано ниже

{ "firstName":"Ritesh"}

В то время как я хотел, чтобы результат был как

{"first_name":"Ritesh"}

Может ли кто-нибудь помочь мне понять, почему класс Response не является развлекательной аннотацией?

Он основан на переменных, геттерах-сеттерах.

Sumesh TG 10.09.2018 11:01

Не могли бы вы подробнее рассказать об этом?

Ritesh 10.09.2018 11:50
public class Test { String first_name; public String getFirst_name() { return first_name; } public void setFirst_name(String first_name) { this.first_name = first_name; } } попробуйте это, вы получите желаемый результат, но это не рекомендуется. Надеюсь, вы хорошо знаете соглашения об именах Java.
Sumesh TG 10.09.2018 11:59

Сумеш ... вы изменили имя переменной. Я хочу, чтобы имя переменной соответствовало стилю кодирования Java, но результат может отличаться. Например, мы можем использовать @JsonProperty в случае Джексона, чтобы сделать то же самое.

Ritesh 10.09.2018 12:11

Неважно ... Я нашел решение.

Ritesh 10.09.2018 12:22

Вы преобразовали свой объект в JSON перед отправкой ответа?

Sumesh TG 10.09.2018 12:26

Да ... он конвертируется в JSON, но не мной, а Джерси

Ritesh 10.09.2018 12:27

Вы починили ...?

Sumesh TG 10.09.2018 12:30

да .... работает ..

Ritesh 10.09.2018 12:31
1
9
445
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я придумал решение, используя

@XmlElement(name="first_name")

Вместо использования

@JsonProperty("first_name")

Другие вопросы по теме