【发布时间】:2017-03-14 01:16:49
【问题描述】:
我是 REST 服务的新手,我有一个 Angular2 客户端调用 RestEasy JAX-RS 服务。我想要得到的只是 JSON 格式的“Hello World”消息。我只期待一个 JSON 对象,但我得到了以下结构的响应:
_body: "{"message":"Hello World!!"}"
headers: t
ok: true
status: 200
statusText: "OK"
type: 2
url: "http://localhost:8080/helloapp/rest/hello/world"
__proto__: ...
我的问题是,应该这样吗?
我的意思是,我认为我可以直接从响应中访问 JSON 对象。类似的东西
this.service.getHello()
.then( result => {
console.log(JSON.parse(result)); //{message: "Hello World"}
this.message = JSON.parse(result).message;
});
但我实际上必须从 _body 获得它:
this.service.getHello()
.then( result => {
this.message = JSON.parse(result._body).message;
console.log(this.message);//Hello World
});
这是一个 RestEasy 配置的东西,有没有办法改变它?
或者
我是否应该考虑在我的数据响应中始终有一个字段_body,这是默认的响应结构?
为了最终考虑,这是我的后端代码:
HelloWorld 服务:
@Path("/hello")
@Produces({ "application/json" })
@Consumes({ "application/json" })
public class HelloWorld {
public HelloWorld() {}
@GET
@Path("/world")
public Message getHello(){
return new Message("Hello World!!");
}
}
我的 RestEasy 版本是 3.1.1.Final 在 Wildfly 10.1.0.Final 中运行
【问题讨论】:
标签: json angular jax-rs resteasy