【发布时间】:2015-07-14 14:13:52
【问题描述】:
我正在开发我的第一个使用 Spring Rest 的应用程序,我有一个类 Veiculo.class、Agencia.class 和 Contato.class。当我创建了一个Veiculo 对象时,它需要一个列表,其中的内容Agencia 和Spring 会正确生成我的超媒体:
实体
@Document
public class Veiculo{
@Id
private String id;
@Indexed(unique = true)
private String nome;
private String tipo;
@DBRef
List<Contato> contatos;
@DBRef
List<Agencia> agencias;
//getters and setters
}
卷曲
daniela.morais@tusk:~$ curl http://localhost:8181/api/veiculos/55a50d42ccf2bc55501419d6
{
"nome" : "veiculo",
"tipo" : "tipo",
"_links" : {
"self" : {
"href" : "http://localhost:8181/api/veiculos/55a50d42ccf2bc55501419d6"
},
"contatos" : {
"href" : "http://localhost:8181/api/veiculos/55a50d42ccf2bc55501419d6/contatos"
},
"agencias" : {
"href" : "http://localhost:8181/api/veiculos/55a50d42ccf2bc55501419d6/agencias"
}
}
}
我需要在路径 /55a512a7ccf2bc55501419dc/agencias 中设置 Agencia 列表(是 Veiculo 属性),但我该怎么做呢? 我没有找到任何我需要的示例
daniela.morais@tusk:~$ curl http://localhost:8181/api/veiculos/55a50d42ccf2bc55501419d6/agencias
{
"_links" : {
"self" : {
"href" : "http://localhost:8181/api/veiculos/55a50d42ccf2bc55501419d6/agencias"
}
},
"_embedded" : {
"agencias" : [ ]
}
}
当我执行POST 时,会发生这种情况
daniela.morais@tusk:~$ curl -i -X POST -H "Content-Type: application/json" -d '{"agencias": [{"nome": "um"}]}' http://localhost:8181/api/veiculos/55a50d42ccf2bc55501419d6/agencias
HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Date: Tue, 14 Jul 2015 14:31:14 GMT
daniela.morais@tusk:~$ curl http://localhost:8181/api/veiculos/55a50d42ccf2bc55501419d6/agencias
{
"_links" : {
"self" : {
"href" : "http://localhost:8181/api/veiculos/55a50d42ccf2bc55501419d6/agencias"
}
},
"_embedded" : {
"agencias" : [ ]
}
【问题讨论】:
标签: java spring-data spring-data-mongodb hateoas