用于在RESTful服务中表示"即发即忘"操作的HTTP方法

Ric*_*rij 6 architecture rest http http-method

考虑REST,将HTTP方法映射到CRUD操作相对容易:用于创建的POST,用于读取的GET等等.但是"即发即弃"操作呢?什么HTTP方法最能代表火灾和忘记操作,例如触发批处理作业(没有响应发送回调用者)?

POST会浮现在脑海中,但我认为GET也是一种合适的方法,因为99%的时候你只为这些类型的动作提供了一堆参数.你怎么看?

Chr*_*ley 11

POST会浮现在脑海中,但我认为GET是一种更合适的方法,因为99%的时候你只为这些类型的动作提供了一堆参数.你怎么看?

外部国家

我认为您使用的参数数量与您使用的动词无关.关键问题是你改变外部可见状态吗?


BatchJob资源

在您的示例中,如果批处理作业不影响任何对象的外部可见状态,则可以将其作为批处理作业实现.但是,您可以将批处理作业建模为具有关联资源容器的资源.

您可以使用Post创建新的BatchJob资源,并允许用户执行GET以查看到目前为止的作业进度.您可以在资源容器上执行GET以列出所有正在运行的批处理作业,可能会调用DELETE来终止它.