検索

ホームページ  >  に質問  >  本文

php - RESTful APIと通常のインターフェースの間に違いはありますか?

インターネットで RESTful API の説明を見たところ、これは私たちが通常作成するインターフェイスと何ら変わりはなく、HTTP の get または post リクエストを通じてデータを送信し、json 形式または xml 形式で返すものであると感じました。

Restful API に次のリクエスト メソッドがある場合でも:
PUT: サーバー上のリソースを更新します (クライアントは完全なリソース データを提供します)

DELETE: サーバーからリソースを削除します

HEAD: サーバーからヘッダー情報 (リソースではない) を取得します

しかし、それらはせいぜいデータを送信するための単なる手段です。たとえば、DELETE はリソースを削除することを意味しますが、具体的なロジック コードは次のとおりです。普通のインターフェースではなく、同じ書き方で記事IDを直接転送することはできないのでしょうか? なぜDELETE送信メソッドを使用する必要があるのでしょうか?

RESTful API についてはまだよく理解できていない気がします。一般的なインターフェースとの違いもまだ理解できません。

迷茫迷茫2822日前955

全員に返信(2)返信します

  • ringa_lee

    ringa_lee2017-05-16 13:13:54

    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 を使用してリクエストすると、このメソッドでは、サーバーは、削除ではなくリソース情報を取得したいだけであることを認識する必要があります。

    返事
    0
  • 世界只因有你

    世界只因有你2017-05-16 13:13:54

    Restful API についての私の個人的な理解は、この操作が何を行うのかを他の人により明確に伝えることができるということです。もちろん、get メソッドを使用して削除されたデータを取得することはできますが、delete ほど明確ではありません。各フレームワークには独自の Restful API の定義方法があります (たとえば、laravel と Yii2 では Restful API メソッドの名前が異なります)。しかし、2 つの異なる定義方法には共通点があり、それは対応するメソッド名の追加、削除、変更です。すべて準備完了です。この場合、開発者は開発を行うときに、このメソッドが何に使用されるのかを明確に理解できます。少なくともネーミングはより明確になっているようです。
    個人的な謙虚な意見...

    返事
    0
  • キャンセル返事