193

私はdjango-rest-frameworkを使用しています。素晴らしい Django 管理者スタイルのブラウズ可能な自己文書化 API を提供します。しかし、誰でもこれらのページにアクセスし、インターフェースを使用してデータを追加 (POST) することができます。どうすれば無効にできますか?

4

3 に答える 3

303

ビューでサポートされているレンダラーのリストから、ブラウズ可能な API レンダラーを削除するだけです。

一般的:

REST_FRAMEWORK = {
    'DEFAULT_RENDERER_CLASSES': (
        'rest_framework.renderers.JSONRenderer',
    )
}

ビュー単位:

class MyView(...):
    renderer_classes = [renderers.JSONRenderer]

余談

多くの場合、ブラウズ可能な API を無効にすることを選択するのは残念だと思います。なぜなら、それは API に取り組んでいるすべての開発者にとって大きな助けであり、そうでなければ彼らが持っているより多くのアクセス許可を彼らに与えないからです。場合によっては、そうするビジネス上の理由があるかもしれませんが、一般的に私はそれを巨大な資産と考えています。ただし、場合によっては、非公開 API が公開したくない詳細 (カスタム アクションの名前など) が表示されることがあります。

閲覧可能な API レンダラーを開発に制限する方法の詳細については、以下の回答も参照してください。

于 2012-10-31T10:56:36.537 に答える