看了一下网上对 restful api的解释,我感觉这个和我们平时写的接口没什么不同啊,都是通过HTTP的get或者post请求传输数据,返回json格式或者xml格式。
就算 restful api多了这些请求方式:
PUT:在服务器更新资源(客户端提供完整资源数据)
DELETE:从服务器删除资源
HEAD : 从服务器获取报头信息(不是资源)
但是他们最多只是一种传输数据的方式而已,比如说 DELETE是删除资源,我们要删除一篇文章,是不是要传一个文章ID到服务器,但是具体的逻辑代码还不是和普通的接口一样的写法,我直接用get传文章ID不就行了吗,为什么要用DELETE传输方式呢?
感觉我还是对restful api理解的还不够,现在还体会不到他与普通的接口有什么不一样
RESTful API は、API の設計仕様または一連の設計理論にすぎません。
URL とメソッドの 2 つの点だけを見ると、次のように理解できます: URL はインターネット リソースを一意に識別するために使用され、メソッドは現在のリクエストがリソースに対してどのような操作を実行するかを識別するために使用されます。
もちろん http://www.xx.com/user?id=123 を取得してユーザーを削除することもできますが、これは RESTful API 仕様に準拠していません。
RESTful API 仕様に準拠するには、DELETE http://www.xx.com/user/123 を実行する必要があります。
ここで http://www.xx.com/user/123 はインターネット リソース (特定のサイトのユーザー) を識別するために使用され、DELETE は私の要求がユーザーの削除であることを識別するために使用されます。
たとえば、このユーザーの詳細情報を取得したい場合、リクエストは次のようになります: GET http://www.xx.com/user/123 これは同じ URL ですが、GET を使用してリクエストすると、このメソッドでは、サーバーは、削除ではなくリソース情報を取得したいだけであることを認識する必要があります。
Restful API についての私の個人的な理解は、この操作が何を行うのかを他の人により明確に伝えることができるということです。もちろん、get メソッドを使用して削除されたデータを取得することはできますが、delete ほど明確ではありません。各フレームワークには独自の Restful API の定義方法があります (たとえば、laravel と Yii2 では Restful API メソッドの名前が異なります)。しかし、2 つの異なる定義方法には共通点があり、それは対応するメソッド名の追加、削除、変更です。すべて準備完了です。この場合、開発者は開発を行うときに、このメソッドが何に使用されるのかを明確に理解できます。少なくともネーミングはより明確になっているようです。
個人的な謙虚な意見...