在开发 RESTFul Web 服务时,我对请求实体的建模感到困惑。处理请求所需的所有数据是否应该是实体的一部分,或者我应该将一些数据移动到 URL 路径中(假设我在这些数据中有逻辑层次结构)。
例如:
小路
/api/payment/3pResponse
实体架构
{
"marketplacedId" : String,
"customerId: String,
"contractId: String,
"planId": String,
"3pResonse" : {},
"3pResponseURI" : "string"
}
相对
小路
/api/payment/marketplaces/{mktId}/customers/{customerId}/contracts/{contractId}/plans/{plandId}/3pResponse
实体架构
{
"3pResonse" : {},
"3pResponseURI" : "string"
}
/api/payment/marketplaces/{mktId}
请不要,我的应用程序中可能不存在路径上的资源。
两者中的任何一个在技术上都可以工作,但我想了解在这种情况下围绕实体建模的最佳实践。