Ошибка 500 при возврате объекта Java, но не при возвращении строки - PullRequest
0 голосов
/ 04 марта 2019

Я получаю 500 ошибок, когда ответ является Java-объектом.Однако когда я преобразую объект в строку, это хорошо.

  @GET
    @Path("/testJavaObj")
    @Produces(MediaType.APPLICATION_JSON)
    public Response getJson() {
        SampleObj sampleObj = new SampleObj();

/* this converts the obj to String
String jsonObj = "";
        ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
    try {
        jsonObj = ow.writeValueAsString(sampleObj);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
        return Response.ok(jsonObj).build();
/*

return Response.ok(sampleObj).build();
    }

открытый класс SampleObj реализует Serializable {

            private String sampleUrl = "sampleUrl";

            public String getSampleUrl() {
                return sampleUrl;
            }

            public void setSampleUrl(String sampleUrl) {
                this.sampleUrl = sampleUrl;
            }

        }

1 Ответ

0 голосов
/ 04 марта 2019

У меня есть следующая конфигурация:

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {

public static void main(String[] args) {
    new DemoApplication().configure(new SpringApplicationBuilder(DemoApplication.class)).run(args);
 }
}

Затем у меня есть конфигурация Джерси:

@Component
public class JerseyConfig extends ResourceConfig {

public JerseyConfig() {
    register(Json.class);
 }
}

Затем у меня есть класс json:

@Path("/testJavaObj")
@Produces(value = MediaType.APPLICATION_JSON)
public class Json {

@GET
public SampleObj getJson() {
    return new SampleObj();
 }
}

И, наконец,Класс SampleObj:

public class SampleObj implements Serializable {
private String sampleUrl = "sampleUrl";

public String getSampleUrl() {
    return sampleUrl;
}

public void setSampleUrl(String sampleUrl) {
    this.sampleUrl = sampleUrl;
}

}

И у меня все работает.Ответ:

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