具有不同方法或不同 URI 路径的 REST 的相同 URI 路径?

Hex*_*xxx 3 rest web-services http

将 HTTP 方法用于 REST 的更好方法是什么:

第一个变体

将不同的 HTTP 方法发送到同一个 URL:

URL : item/{id}   method : DELETE   ---- DELETE item<br>
URL : item/{id}   method : PUT   ---- PUT item<br>
URL : item/{id}   method : GET   ---- GET item<br>
Run Code Online (Sandbox Code Playgroud)

或第二

每个 HTTP 方法都有一个不同的 URL,并将每个动词发送到其对应的 URL:

URL : deleteitem/{id} OR item/delete/{id}   method: DELETE ---- DELETE item<br>
URL : putitem/{id} OR item/put/{id}         method: PUT ----    PUT item<br>
URL : getitem/{id} OR item/get/{id}         method: GET ----    GET item<br>
Run Code Online (Sandbox Code Playgroud)

Rae*_*ald 5

第一个变体,将方法应用于相同的 URI,是 REST 做事方式。使用 REST,您可以执行以下操作:

  • 确定您的 Web 应用程序操作的一组资源:您的案例中的项目
  • 为每个资源提供一个标识符(URI),应用程序及其客户端可以使用该标识符来指示特定资源:item/{id}在您的情况下。
  • 识别客户端可以执行的资源操作。
  • 使用应用于 URI(名词)的 HTTP 方法(动词)来表达这些操作。
  • 让客户端通过使用这些 HTTP 方法和 URI 向服务器发送 HTTP 请求来执行这些操作。