为什么RESTAPI方法名很重要?因为我可以使用这些方法中的任何一种来执行CRUD操作

为什么RESTAPI方法名很重要?因为我可以使用这些方法中的任何一种来执行CRUD操作,rest,Rest,在REST中,对于某些特定操作(CRUD),完整API有一些方法名,如(GET、PUT、POST等) 但是我可以用任何方法执行任何操作 数据库操作示例: 我可以使用GET创建或插入新文档,或删除或更新 方法 我可以使用post方法发布、更新或删除 我可以使用PUT方法删除或更新或删除 同样,我可以使用任何一种方法来执行DB(CRUD)操作 那么,为什么需要这个方法来指定何时调用任何rest完整API呢?这是一个基于HTTP标准的约定。REST构建在约定优于配置的范例之上。也就是说,一组约定避免了

在REST中,对于某些特定操作(CRUD),完整API有一些方法名,如(GET、PUT、POST等) 但是我可以用任何方法执行任何操作

数据库操作示例:

  • 我可以使用GET创建或插入新文档,或删除或更新 方法

  • 我可以使用post方法发布、更新或删除

  • 我可以使用PUT方法删除或更新或删除

    同样,我可以使用任何一种方法来执行DB(CRUD)操作

  • 那么,为什么需要这个方法来指定何时调用任何rest完整API呢?

    这是一个基于HTTP标准的约定。REST构建在约定优于配置的范例之上。也就是说,一组约定避免了大量的样板文件和配置

    例如,HTTP 1.1说:

    • GET
      :GET方法意味着检索由请求URI标识的任何信息(以实体的形式)。如果请求URI指的是数据生成过程,则应将生成的数据作为响应中的实体返回,而不是过程的源文本,除非该文本恰好是过程的输出

    • POST
      :POST方法用于请求源服务器接受请求中包含的实体,作为请求行[…]中请求URI标识的资源的新从属

    …等等。

    这是基于HTTP标准的约定。REST构建在约定优于配置的范例之上。也就是说,一组约定避免了大量的样板文件和配置

    例如,HTTP 1.1说:

    • GET
      :GET方法意味着检索由请求URI标识的任何信息(以实体的形式)。如果请求URI指的是数据生成过程,则应将生成的数据作为响应中的实体返回,而不是过程的源文本,除非该文本恰好是过程的输出

    • POST
      :POST方法用于请求源服务器接受请求中包含的实体,作为请求行[…]中请求URI标识的资源的新从属


    …等等。

    要进一步阐述Matías的答案,您必须考虑允许消费者使用他们想要的任何动词调用您的API的后果

    首先,如果您不知道预期的操作是什么,那么您的实现将更加复杂。例如,如果有人可以使用GET更新资源,您如何区分查询和更新之间的区别?答案是:实现的额外(不必要)复杂性

    其次,从性能和可伸缩性的角度来看,会产生一些后果。GET允许轻松缓存资源表示,因为它具有幂等性质——这是预期的约定。由于不清楚哪些动词做什么,您就更难使用缓存等策略,这使得您的API更难扩展


    第三,对消费者来说,它使事情变得更加复杂。HTTP基于约定的方法被广泛理解。使用一个不遵循这一惯例的API——特别是一个使用HTTP/REST标记自己的API——将增加集成成本。

    要扩展Matías的答案,您必须考虑允许消费者使用他们想要的任何动词调用您的API的后果

    首先,如果您不知道预期的操作是什么,那么您的实现将更加复杂。例如,如果有人可以使用GET更新资源,您如何区分查询和更新之间的区别?答案是:实现的额外(不必要)复杂性

    其次,从性能和可伸缩性的角度来看,会产生一些后果。GET允许轻松缓存资源表示,因为它具有幂等性质——这是预期的约定。由于不清楚哪些动词做什么,您就更难使用缓存等策略,这使得您的API更难扩展


    第三,对消费者来说,它使事情变得更加复杂。HTTP基于约定的方法被广泛理解。使用不遵循该约定的API(尤其是将自身标记为使用HTTP/REST的API)将增加集成成本。

    不清楚您的要求。如果您能做到这一点,显然意味着服务器的性能非常差。在REST中,每个方法,即使发送到同一个URL,都应该在服务器上触发不同的操作。阅读这里,这是一个非常深刻的问题,它是基于理解当您创建一个URL时发生了什么request@Nhor你能给我解释一下原因和方法吗?这对我这个有点困惑的人来说是非常有帮助的。对我来说,这听起来像是一个诚实的问题,而且有一个很好的答案。不清楚你在问什么。如果你能做到,这显然意味着服务器做得很差。在REST中,每个方法,即使发送到同一个URL,都应该在服务器上触发不同的操作。阅读这里,这是一个非常深刻的问题,它是基于理解当您创建一个URL时发生了什么request@Nhor你能给我解释一下原因和方法吗?这对我这个有点困惑的人来说是非常有帮助的。对我来说,这听起来是一个诚实的问题,而且有一个很好的答案。