locona / django_rest_framework

0 stars 0 forks source link

Requests and Response #2

Open locona opened 7 years ago

locona commented 7 years ago

Request objects

REST framework には、通常のHttpRequestを拡張するRequestオブジェクトが導入されており、 より柔軟なリクエスト解析を提供する。コア機能には、request.data属性がある。 これはrequest.POSTに似ているが、WebAPIを使用するとより便利になる。

locona commented 7 years ago

Respone objects

REST frameworkには、Responseオブジェクトが導入されている。 これは、未レンダリングのコンテンツを取得し、コンテンツネゴシエーションを使用して正しいコンテンツタイプを判断し、クライアントに返すTemplateResponseのタイプである

locona commented 7 years ago

Status codes

わかりやすいように、識別子のついたステータスmodule が提供されている HTTP_400_BAD_REQUEST

locona commented 7 years ago

Wrapping API views

provides 2 wrappers to write API views.

  1. @api_view decorator 関数ベース
  2. APIView class クラスベース

これらのラッパーはview の中でリクエストインスタンスを受け取ったり、 実行可能なようにcontextをResponseに加えたりすることができるなど 幾つかの機能を提供している。

また 405 Method Not Allowedを返す機能や不正なinputを解析する機能も持っている

locona commented 7 years ago

Browsability

APIはクライアントリクエストに基いて、レスポンスのコンテンツタイプを選択するため, デフォルトでは、リクエストがブラウザから要求された時HTMLフォーマットで返す。

WebブラウザAPIはより使い勝手の面で大きなメリットであると同時に、 開発やAPIをより簡単に使えるようになる。