Java 为函数调用设计RESTAPI
因此,我正在构建一个RESTAPI,它将负责在一个特殊的硬件上运行各种作业 所以我知道REST用于访问资源,而不是调用函数。Java 为函数调用设计RESTAPI,java,spring,rest,Java,Spring,Rest,因此,我正在构建一个RESTAPI,它将负责在一个特殊的硬件上运行各种作业 所以我知道REST用于访问资源,而不是调用函数。 那么,设计负责调用函数的API的建议和最佳方法是什么呢 例如,我将有一个apijob/run,如果作业成功运行,它将返回作业的PID。 我还有一个job/{pid}用于访问给定作业的信息。以及用于停止所述作业的作业/cancel/{pid} 那么,设计API的建议和最佳方法是什么呢 负责调用函数 创建用户:POST/users 删除用户:删除/users/1 获取所有用户
那么,设计负责调用函数的API的建议和最佳方法是什么呢 例如,我将有一个api
job/run
,如果作业成功运行,它将返回作业的PID。
我还有一个job/{pid}
用于访问给定作业的信息。以及用于停止所述作业的作业/cancel/{pid}
那么,设计API的建议和最佳方法是什么呢
负责调用函数
GET /FetchUsers // To fetch all records
GET /getAllUsers/12 // To fetch specific records
GET /users //To fetch all records
GET /users/12 // To fetch specific records
POST /createUsers //To create users
GET /createrecordforUsers //To fetch all records
POST /users //To create users records
PUT /updateUsersid // To update user
POST /id/modifyuser // To update users
PUT /users/:id // To update users
DELETE /deleteuser/id //To delete users
POST /id/removeusers //To delete users
DELETE /users/:id // To delete users
首选设计
GET /FetchUsers // To fetch all records
GET /getAllUsers/12 // To fetch specific records
GET /users //To fetch all records
GET /users/12 // To fetch specific records
POST /createUsers //To create users
GET /createrecordforUsers //To fetch all records
POST /users //To create users records
PUT /updateUsersid // To update user
POST /id/modifyuser // To update users
PUT /users/:id // To update users
DELETE /deleteuser/id //To delete users
POST /id/removeusers //To delete users
DELETE /users/:id // To delete users
记录
糟糕的设计
GET /FetchUsers // To fetch all records
GET /getAllUsers/12 // To fetch specific records
GET /users //To fetch all records
GET /users/12 // To fetch specific records
POST /createUsers //To create users
GET /createrecordforUsers //To fetch all records
POST /users //To create users records
PUT /updateUsersid // To update user
POST /id/modifyuser // To update users
PUT /users/:id // To update users
DELETE /deleteuser/id //To delete users
POST /id/removeusers //To delete users
DELETE /users/:id // To delete users
首选设计
GET /FetchUsers // To fetch all records
GET /getAllUsers/12 // To fetch specific records
GET /users //To fetch all records
GET /users/12 // To fetch specific records
POST /createUsers //To create users
GET /createrecordforUsers //To fetch all records
POST /users //To create users records
PUT /updateUsersid // To update user
POST /id/modifyuser // To update users
PUT /users/:id // To update users
DELETE /deleteuser/id //To delete users
POST /id/removeusers //To delete users
DELETE /users/:id // To delete users
更新记录
糟糕的设计
GET /FetchUsers // To fetch all records
GET /getAllUsers/12 // To fetch specific records
GET /users //To fetch all records
GET /users/12 // To fetch specific records
POST /createUsers //To create users
GET /createrecordforUsers //To fetch all records
POST /users //To create users records
PUT /updateUsersid // To update user
POST /id/modifyuser // To update users
PUT /users/:id // To update users
DELETE /deleteuser/id //To delete users
POST /id/removeusers //To delete users
DELETE /users/:id // To delete users
首选设计
GET /FetchUsers // To fetch all records
GET /getAllUsers/12 // To fetch specific records
GET /users //To fetch all records
GET /users/12 // To fetch specific records
POST /createUsers //To create users
GET /createrecordforUsers //To fetch all records
POST /users //To create users records
PUT /updateUsersid // To update user
POST /id/modifyuser // To update users
PUT /users/:id // To update users
DELETE /deleteuser/id //To delete users
POST /id/removeusers //To delete users
DELETE /users/:id // To delete users
删除记录
糟糕的设计
GET /FetchUsers // To fetch all records
GET /getAllUsers/12 // To fetch specific records
GET /users //To fetch all records
GET /users/12 // To fetch specific records
POST /createUsers //To create users
GET /createrecordforUsers //To fetch all records
POST /users //To create users records
PUT /updateUsersid // To update user
POST /id/modifyuser // To update users
PUT /users/:id // To update users
DELETE /deleteuser/id //To delete users
POST /id/removeusers //To delete users
DELETE /users/:id // To delete users
首选设计
GET /FetchUsers // To fetch all records
GET /getAllUsers/12 // To fetch specific records
GET /users //To fetch all records
GET /users/12 // To fetch specific records
POST /createUsers //To create users
GET /createrecordforUsers //To fetch all records
POST /users //To create users records
PUT /updateUsersid // To update user
POST /id/modifyuser // To update users
PUT /users/:id // To update users
DELETE /deleteuser/id //To delete users
POST /id/removeusers //To delete users
DELETE /users/:id // To delete users
那么,设计API的建议和最佳方法是什么呢
负责调用函数
GET /FetchUsers // To fetch all records
GET /getAllUsers/12 // To fetch specific records
GET /users //To fetch all records
GET /users/12 // To fetch specific records
POST /createUsers //To create users
GET /createrecordforUsers //To fetch all records
POST /users //To create users records
PUT /updateUsersid // To update user
POST /id/modifyuser // To update users
PUT /users/:id // To update users
DELETE /deleteuser/id //To delete users
POST /id/removeusers //To delete users
DELETE /users/:id // To delete users
首选设计
GET /FetchUsers // To fetch all records
GET /getAllUsers/12 // To fetch specific records
GET /users //To fetch all records
GET /users/12 // To fetch specific records
POST /createUsers //To create users
GET /createrecordforUsers //To fetch all records
POST /users //To create users records
PUT /updateUsersid // To update user
POST /id/modifyuser // To update users
PUT /users/:id // To update users
DELETE /deleteuser/id //To delete users
POST /id/removeusers //To delete users
DELETE /users/:id // To delete users
记录
糟糕的设计
GET /FetchUsers // To fetch all records
GET /getAllUsers/12 // To fetch specific records
GET /users //To fetch all records
GET /users/12 // To fetch specific records
POST /createUsers //To create users
GET /createrecordforUsers //To fetch all records
POST /users //To create users records
PUT /updateUsersid // To update user
POST /id/modifyuser // To update users
PUT /users/:id // To update users
DELETE /deleteuser/id //To delete users
POST /id/removeusers //To delete users
DELETE /users/:id // To delete users
首选设计
GET /FetchUsers // To fetch all records
GET /getAllUsers/12 // To fetch specific records
GET /users //To fetch all records
GET /users/12 // To fetch specific records
POST /createUsers //To create users
GET /createrecordforUsers //To fetch all records
POST /users //To create users records
PUT /updateUsersid // To update user
POST /id/modifyuser // To update users
PUT /users/:id // To update users
DELETE /deleteuser/id //To delete users
POST /id/removeusers //To delete users
DELETE /users/:id // To delete users
更新记录
糟糕的设计
GET /FetchUsers // To fetch all records
GET /getAllUsers/12 // To fetch specific records
GET /users //To fetch all records
GET /users/12 // To fetch specific records
POST /createUsers //To create users
GET /createrecordforUsers //To fetch all records
POST /users //To create users records
PUT /updateUsersid // To update user
POST /id/modifyuser // To update users
PUT /users/:id // To update users
DELETE /deleteuser/id //To delete users
POST /id/removeusers //To delete users
DELETE /users/:id // To delete users
首选设计
GET /FetchUsers // To fetch all records
GET /getAllUsers/12 // To fetch specific records
GET /users //To fetch all records
GET /users/12 // To fetch specific records
POST /createUsers //To create users
GET /createrecordforUsers //To fetch all records
POST /users //To create users records
PUT /updateUsersid // To update user
POST /id/modifyuser // To update users
PUT /users/:id // To update users
DELETE /deleteuser/id //To delete users
POST /id/removeusers //To delete users
DELETE /users/:id // To delete users
删除记录
糟糕的设计
GET /FetchUsers // To fetch all records
GET /getAllUsers/12 // To fetch specific records
GET /users //To fetch all records
GET /users/12 // To fetch specific records
POST /createUsers //To create users
GET /createrecordforUsers //To fetch all records
POST /users //To create users records
PUT /updateUsersid // To update user
POST /id/modifyuser // To update users
PUT /users/:id // To update users
DELETE /deleteuser/id //To delete users
POST /id/removeusers //To delete users
DELETE /users/:id // To delete users
首选设计
GET /FetchUsers // To fetch all records
GET /getAllUsers/12 // To fetch specific records
GET /users //To fetch all records
GET /users/12 // To fetch specific records
POST /createUsers //To create users
GET /createrecordforUsers //To fetch all records
POST /users //To create users records
PUT /updateUsersid // To update user
POST /id/modifyuser // To update users
PUT /users/:id // To update users
DELETE /deleteuser/id //To delete users
POST /id/removeusers //To delete users
DELETE /users/:id // To delete users
应考虑以下几点
- GET在指定的URI处检索资源的表示形式。响应消息的主体包含所请求资源的详细信息
- POST在指定的URI处创建新资源。请求消息的主体提供了新资源的详细信息。请注意,POST还可用于触发实际上不创建资源的操作
- PUT在指定的URI处创建或替换资源。请求消息的正文指定要创建或更新的资源
- 修补程序执行资源的部分更新。请求主体指定要应用于资源的更改集
- 删除删除指定URI处的资源
- 资源不必基于单个物理数据项。例如,订单资源可能在内部实现为关系数据库中的多个表,但作为单个实体呈现给客户机。避免创建简单镜像数据库内部结构的API李>
- 客户端不应暴露于内部实现
- 避免要求比(订单/集合/项目/详细信息)更复杂的资源URI
- Pagination Support : /orders?limit=25&offset=50
- Error handing :
- API Version (avoid as much as if possible)
参见此处,应考虑以下几点
- GET在指定的URI处检索资源的表示形式。响应消息的主体包含所请求资源的详细信息
- POST在指定的URI处创建新资源。请求消息的主体提供了新资源的详细信息。请注意,POST还可用于触发实际上不创建资源的操作
- PUT在指定的URI处创建或替换资源。请求消息的正文指定要创建或更新的资源
- 修补程序执行资源的部分更新。请求主体指定要应用于资源的更改集
- 删除删除指定URI处的资源
- 资源不必基于单个物理数据项。例如,订单