免责声明:这只是一个测试,我正在运行,而不是试图获得可靠的请求服务计数器。
因为泽西构建在servlet之上,所以我假设在所有请求之间共享一个servlet。所以我写了一个非常基本的课程:
@Path("/id")
public class TestIdGeneration {
private AtomicInteger counter = new AtomicInteger();
@GET
@Produces("text/plain")
public Response serveRequest() {
Res
JAX中有关方法类型的最佳实践是什么?
我对以下方法感兴趣:获取、发布、放置和删除。
我可能采取的方法:
GET -总是返回一个响应。
@GET
@Path("/path/{something}")
public T getT() {
...
return t; // t - instance of T
}
POST
@POST
@Path("/path")
public T/void createOrUpdate() {
...
return t; // t - instance of T
}
我实现了一个库来创建JSON REST存储,并且正在完成API。在API中,开发人员可以选择是否在PUT和POST之后回显数据。
现在就来,
ECHO IS ON:
POST /users/ => status: 201 Created, data: as stored on server
PUT /users/1 (NEW res) => status: 201 Created, data: as stored
PUT /users/1 (EXISTING res) => status: 200 OK, data: as stored
ECHO IS OFF:
P
通常,在设计API时,我尝试坚持以下结构:
GET: /resources (get multiple resources)
POST: /resource (create a single resource)
GET: /resource/:id (get a single resource)
PUT: /resource/:id (update a single resource)
DELETE: /resource/:id (delete a single resource)
但有时,当您“获取”数据时,传入的参数开始增长,超出了查询字符串中可以包含的范围。例如,在我提供的GET: /r
所以HTTP规范说HTTP和DELETE应该是幂等的。这意味着,对同一个具有相同主体的URL的多个PUT请求不应该对服务器产生额外的副作用。多个HTTP删除也是如此,如果向同一个URL发送2个或多个DELETE请求,则第二个(或第三个)请求不应返回指示资源已被删除的错误。
但是,在处理了DELETE之后,如何将请求放到URI中呢?它应该返回404吗?
例如,考虑按以下顺序执行以下请求:
POST /api/items -创建一个item资源,返回HTTP201和URI /api/items/6
PUT /api/items/6 -更新与item #6关联的数据
PUT /api/i
当用户不想更新应用程序时,我忽略了如何处理SQLite数据库迁移的清晰性,该应用程序包括更新后的应用程序的其他列。如何处理崩溃以及当用户不想更新应用程序时出现的问题。任何建议都会很有价值。
我尝试了下面的代码,其中包括升级数据库版本,尽管当用户不想更新应用程序。
如下面所示,在on升级方法中
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) {
switch (oldVersion){
case 1: