目前,客户端和服务器之间的通信仅通过POST发送,而这种方式已经很好地运作。我阅读了大量关于REST和如何使用PUT、GET、POST和DELETE实现RESTful HTTP的信息。我可以将我的API分成这些不同的类别,但这意味着需要更多的代码和对API进行一些更改。
我的问题是:HTTP API要成为RESTful非常重要吗?是推荐、可选还是必须的?
提前感谢您的回答。
目前,客户端和服务器之间的通信仅通过POST发送,而这种方式已经很好地运作。我阅读了大量关于REST和如何使用PUT、GET、POST和DELETE实现RESTful HTTP的信息。我可以将我的API分成这些不同的类别,但这意味着需要更多的代码和对API进行一些更改。
我的问题是:HTTP API要成为RESTful非常重要吗?是推荐、可选还是必须的?
提前感谢您的回答。
我认为这听起来(原谅我的法语)特别棒!我在自己的REST项目中也遇到了类似的事情,因为中间层非常薄且透明,所以我可以按照自己的需求扩展它们,而不必过多担心基础架构。这是一种自由,一种酷炫的东西,让我的大脑即将爆炸,也让我好奇为什么没有更多人这样做呢?
简而言之,只做REST的一半就像根本没做一样。你只是把你的东西移到了另一个管道上,错过了进入状态机、语义和实现解耦的简化API,在核心上使用建立网络的原则(因此我会说你背后有相当可靠的思想),统一接口,并将URI作为你的建模的一部分。
我知道说你可以挑选和选择很流行,说这只是选项。但事实并非如此。只有完全使用REST才有意义,但是要说服你真正推动自己的思维,做一些聪明的事情,我只能敢你去除FUD(它全部都是关于RPC,只需要GET和POST,你不需要所有这些,等同于JSON,SOAP和其他的东西等),并更加聪明地制作应用程序。 是的,我敢你们所有人!
除非您打算利用超媒体,否则我不建议尝试符合REST约束。 超媒体是使系统大于其部分之和的关键因素。
您可以自由选择要在架构中遵守哪些REST约束,但请注意,为了能够称之为RESTful的最终结果,唯一可选的约束是“代码下载”。
这是一种选项,可用于将Web应用程序公开为具有明确定义API的Web服务。其他选项包括:
REST背后有一个很好的理念,但这并不意味着您必须为应用程序提供REST API。如果收益不值得额外的努力,请不要费心。
这是一个建议。我很高兴你没有深入讨论需要多RESTful,因为有一种叫做Hi-Rest和Lo-REST的东西。你可以通过谷歌获取更多信息。我认识的一些行业老手并不太在意这个,但我发现尽可能接近HTML和HTTP将有助于你长期发展,并简化许多事情。
在考虑服务API时,需要考虑的一件事情是它们是否易于最终用户使用。REST正在获得非常强大的工具支持。
迄今为止,最大的开发人员群体是.NET开发人员群体,而使用ADO.NET for services(Astoria)消耗REST并使用Linq非常简单和优雅。