Restful验证资源的方法

Restful验证资源的方法,rest,restful-architecture,Rest,Restful Architecture,假设我的API中有一个支持一些CRUD操作的电子商务应用程序/购物车的特例资源:GET、POST 我想要一个验证购物车是否正确(库存可用性等)的服务,因此我需要所有购物车信息,但我不想存储购物车的部分状态,这就是此资源不支持PUT的原因 问题是,哪种方法和路径是以Restful方式执行此类服务的正确方法?我认为,如果要构建Restful web服务,不应该在其中绑定太多业务逻辑 Restful服务应该被认为是系统的基础设施。它提供了一致的api,允许其他人访问资源 您可以在restful资源上构

假设我的API中有一个支持一些CRUD操作的电子商务应用程序/购物车的特例资源:GET、POST

我想要一个验证购物车是否正确(库存可用性等)的服务,因此我需要所有购物车信息,但我不想存储购物车的部分状态,这就是此资源不支持PUT的原因


问题是,哪种方法和路径是以Restful方式执行此类服务的正确方法?

我认为,如果要构建Restful web服务,不应该在其中绑定太多业务逻辑

Restful服务应该被认为是系统的基础设施。它提供了一致的api,允许其他人访问资源


您可以在restful资源上构建一个业务层,在这个层中,您可以执行复杂的业务逻辑,例如,检查库存可用性(可能底层访问库存资源),或者进行支付(可能底层访问支付资源和产品资源)

我想您是对的。验证逻辑必须在使用其他Rest资源(付款、股票等)的Rest客户端上。问题是我的客户端将是智能手机,因此CPU和网络友好性非常重要。。。我希望有一个类似方法的职位。让我解释一下:方法头用于获取资源的元数据信息(如果可用)或资源的某些元数据信息。这将是完美的,我是做类似的事情,但为一个职位。如果不可能的话,你的解决方案是最好的解决方法。我认为使用HEAD可能有点奇怪。。。由于验证逻辑和处理逻辑分为两个请求,因此可能存在一些不安全问题。事实上,尽管rest的概念非常流行,但很难设计好它,大多数api似乎都是restful的(特别是url模式)。我建议您在RESTAPI的基础上构建一个业务api,或者只是将验证逻辑放在post方法中(无需坚持rest概念)。谢谢您,最后我不打算支持验证服务,所以我只在post方法中进行验证。如果以后需要验证,我将执行业务API:)