spring rest api用于文件下载设计的最佳实践

时间:2018-02-02 00:29:57

标签: spring-boot elasticsearch spring-rest

我必须在POC上工作,我们将把数据存储在某种NOSQL数据库中。此数据库中数据的初始加载量约为100M,每年将增长10M。现在的要求是我必须提供两个api。一个简单的查找由一些独特的id。这是直截了当的。第二个api是关于客户端将发送请求,例如。 10K唯一ID然后api应该将文件(JSON数据)传递给客户端。 围绕这样开发rest api的最佳实践是什么?拥有api甚至是否有意义?

1 个答案:

答案 0 :(得分:0)

  

围绕这样开发rest api的最佳做法是什么?

如果我理解了这个要求,我会这样做:

单次插入:

HTTP POST / objects

Content-Type:application / json

数据:

{
    "some_property":"value1",
    ...  others properties here
}

回复:创建了201

位置:/ objects / {unique_id_generated}

批量插入:

HTTP POST / objects / bulk

数据:

[
{
    "some_property":"value1",
    ...  others properties here
},
... others objects here
]

回复:201创建

位置:/ objects / bulk / {unique_id_bulk_insert}

获取有关批量插入的信息:

HTTP GET / objects / bulk / {unique_id_bulk_insert}

数据回复:

[unique_id_1, unique_id_2, ... N ids generete by bulk insert ]

通过id:

检索对象

HTTP GET / objects / {unique_id_generated}

数据回复:

{
    "some_property":"value1",
    ...  others properties here
}

通过要求中定义的参数检索对象列表:

HTTP GET / objects?some-filter = ...

数据回复:

[
{
    "some_property":"value1",
    ...  others properties here
},
... others objects here
]
  

拥有api甚至是否有意义?

我认为是的,根据要求和项目的必要性,是有道理的。