Я встал java jersey(jax-rs) rest web service
. Ниже конечной точки службы возвращается json
в качестве ответа, который я считаю.
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/foo")
public Response getFoo(@QueryParam("name") String name) {
....
String data = ...; // set captured value to a variable of String type
return Response.status(Status.OK).entity(data).build();
}
Когда я запускаю вызов rest из пользовательского интерфейса swagger-ui, я получаю ожидаемые данные, однако в теле ответа я вижу can't parse JSON. Raw Result
. Я гуглял в поисках подсказки why
, что это происходит, и how
, чтобы исправить это, но я не был успешным.
Здесь response
часть yaml
файла swagger-ui
потребляет.
swagger: '2.0'
info: ....
...
produces:
- application/json
/paths:
/foo:
...
response:
'200':
description: test foo
content:
application/json:
schema:
type: object
Вот пример тела ответа. Возвращенные данные разбавлены версией, но наверняка их содержимое возвращено правильно.
can't parse JSON. Raw Result:
{
"name": "foo",
"address": "somewhere on earth"
}
{
"name": "foo",
"address": "somewhere on mars"
}
[Update]
Приношу свои извинения. Ответ найден. Уведомление о возврате, кратное json
выше. Если возвращается более json
данных, они должны содержаться в json array
. Вот почему был брошен can't parse json
. Также убран заголовок изображения в вере, он не нужен.
Правильный формат должен быть:
[
{"name": "foo",
"address": "somewhere on earth"
},
{
"name": "foo",
"address": "somewhere on mars"
}
]