Size: a a a

2020 August 09

SK

Sergei Kutcher in learn.java
Добрый день!

У меня есть апишка, которая возвращает JSON состоящий из флага success (true, false) и поля body.

В body через mapper записываю List<Model>.

Далее успешный ответ отдаю через
new ResponseEntity(response, HttpStatus.OK);

И вот тут-то в body появляются экранирующие слэши - как от этого избавится?
источник

SK

Sergei Kutcher in learn.java
"body": "[{\"id\":1,\"note\":\"First recrod\"},{\"id\":2,\"note\":\"Second recrod\"}]"
источник

GI

Grigorij I. in learn.java
возвращаешь жсон, а не стринг?
источник

SK

Sergei Kutcher in learn.java
String
источник

SK

Sergei Kutcher in learn.java
response - PoJo Response, где body - это String
источник

GI

Grigorij I. in learn.java
респонс какого типа
источник

SK

Sergei Kutcher in learn.java
Response response = new Response();
источник

GI

Grigorij I. in learn.java
и как он приводится в жсон?
какие аннотации в контроллере? стоит produces = "application/json“?
источник

SK

Sergei Kutcher in learn.java
Grigorij I.
и как он приводится в жсон?
какие аннотации в контроллере? стоит produces = "application/json“?
В контролере
@GetMapping(produces= MediaType.APPLICATION_JSON_VALUE)

List<Model> result = new  ArrayList<>();
в String перевожу через -
private ObjectMapper mapper = new ObjectMapper();
mapper.writeValueAsString(result);
источник

GI

Grigorij I. in learn.java
Sergei Kutcher
В контролере
@GetMapping(produces= MediaType.APPLICATION_JSON_VALUE)

List<Model> result = new  ArrayList<>();
в String перевожу через -
private ObjectMapper mapper = new ObjectMapper();
mapper.writeValueAsString(result);
>mapper.writeValueAsString(result);

из за этого наверно экранизация
источник

NG

Nikita Gryzlov in learn.java
Sergei Kutcher
response - PoJo Response, где body - это String
А зачем body String? Почему не сделать его так же листом? Пускай оно само в ответе сериализуется
источник

GI

Grigorij I. in learn.java
Nikita Gryzlov
А зачем body String? Почему не сделать его так же листом? Пускай оно само в ответе сериализуется
+ 1
источник

SK

Sergei Kutcher in learn.java
Nikita Gryzlov
А зачем body String? Почему не сделать его так же листом? Пускай оно само в ответе сериализуется
И такой вариант был
private List<Model> body - в ответе все равно будут  \
источник

C

Combot in learn.java
Total messages: 259471
источник

Ч

Чингиз in learn.java
Sergei Kutcher
И такой вариант был
private List<Model> body - в ответе все равно будут  \
пробовал?
mapper.configure(JsonGenerator.Feature.QUOTE_FIELD_NAMES, false); mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
источник

SK

Sergei Kutcher in learn.java
Чингиз
пробовал?
mapper.configure(JsonGenerator.Feature.QUOTE_FIELD_NAMES, false); mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
Нет, не пробовал
источник

SK

Sergei Kutcher in learn.java
Сейчас попробую
источник

Ч

Чингиз in learn.java
вдруг поможет
источник

SK

Sergei Kutcher in learn.java
Чингиз
вдруг поможет
Не помогло к сожалению
источник

Ч

Чингиз in learn.java
Sergei Kutcher
Не помогло к сожалению
точно сказать не могу пока, но вроде в спринге есть реестр мапперов, лучше там сконфигурировать
источник