私は最初の REST API を作成しています (django-rest-framework を使用)。
結果をフィルター処理するために URL パラメーターを追加しています。私の理解では、これらのパラメーターのドキュメントは OPTIONS 動詞に属しています。私のコード:
class SuburbViewSet(viewsets.ReadOnlyModelViewSet):
"""
Retrieves the suburbs (20 per page).
GET and OPTIONS allowed.
"""
model = Suburb
serializer_class = SuburbSerializer
def get_queryset(self):
"""
Can filter by region_id, ...
- using query parameters in the URL.
"""
queryset = Suburb.objects.all()
region_id = self.request.QUERY_PARAMS.get('region_id', None)
if region_id is not None:
queryset = queryset.filter(region_id=region_id)
return queryset
def metadata(self, request):
ret = super(SuburbViewSet, self).metadata(request)
ret['parameters'] = {
"page": {
"type": "integer",
"description": "The page number",
"required": False
},
"region_id": {
"type": "integer",
"description": "The region ID to filter the results",
"required": False
}
}
return ret
それが最良/唯一の REST の方法ですか (OPTIONS のパラメーターを説明します)?
django-rest-framework に関して、私はメタデータ (self、request) を拡張しました。パラメータの説明を設定するための組み込みの方法がありませんでしたか?
ありがとう !