【问题标题】:How set List in Spring Rest如何在 Spring Rest 中设置 List
【发布时间】:2015-07-14 14:13:52
【问题描述】:

我正在开发我的第一个使用 Spring Rest 的应用程序,我有一个类 Veiculo.classAgencia.classContato.class。当我创建了一个Veiculo 对象时,它需要一个列表,其中的内容AgenciaSpring 会正确生成我的超媒体:

实体

@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


    【解决方案1】:

    您需要在正文中使用agencias 列表对POST 执行/55a512a7ccf2bc55501419dc/agencias

    【讨论】:

    • 我试图发送数组,但是当我给一个 GET 时没有返回任何东西
    猜你喜欢
    • 2021-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    • 2014-08-01
    • 1970-01-01
    相关资源
    最近更新 更多