我已经站起来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();
}
当我从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"
}
[更新]
我的道歉。找到答案。请注意,返回上面的多个json
。如果返回的数据多于json
,则必须包含在json array
中。这就是抛出can't parse json
的原因。还删除了标题图片,这是不需要的。
正确的格式应为:
[
{"name": "foo",
"address": "somewhere on earth"
},
{
"name": "foo",
"address": "somewhere on mars"
}
]