Documentation Django Rest框架:如何记录获取更少端点?

Documentation Django Rest框架:如何记录获取更少端点?,documentation,django-rest-framework,Documentation,Django Rest Framework,我的同事实现了一个API,该API只允许使用ID参数获取请求(因此我可以获取/foo/5,但无法获取/foo/)。如果我试图在不提供ID参数的情况下访问API的端点,它(正确地)会抛出一个未实现的异常 我想修复此端点,以便在通过web查看文档时不带ID地显示其文档。然而,我仍然希望它在通过编程访问端点时抛出异常 正如我所记得的,django rest框架能够区分这两种情况(通过请求头),但我不确定如何定义端点,以便它根据需要返回文档HTML或异常 有人能为这一点提供模式吗?根据描述,我猜端点是一

我的同事实现了一个API,该API只允许使用ID参数获取请求(因此我可以获取
/foo/5
,但无法获取
/foo/
)。如果我试图在不提供ID参数的情况下访问API的端点,它(正确地)会抛出一个未实现的异常

我想修复此端点,以便在通过web查看文档时不带ID地显示其文档。然而,我仍然希望它在通过编程访问端点时抛出异常

正如我所记得的,django rest框架能够区分这两种情况(通过请求头),但我不确定如何定义端点,以便它根据需要返回文档HTML或异常


有人能为这一点提供模式吗?

根据描述,我猜端点是一个基于函数的视图,它注册在一个路由上,在该路由上侦听带有参数的get请求。我建议注册另一个路由,在那里您将侦听没有参数的get请求

从rest\u framework.decorators导入api\u视图
从rest\u框架导入状态
@api_视图(['GET'])
定义现有的项目api(请求、项目id、*args、**kwargs):
#在此处查询并返回项目。。。
通过
@api_视图(['GET'])
def获取帮助(请求、*args、**kwargs):
#撰写帮助
返回响应(数据=帮助,状态=状态.HTTP\u 200\u确定)
#在url.py中的某个地方
URL模式=[
url(r'api/items/(?P[0-9]+)/,现有的,
url(r'api/items/,获取帮助),
]
让我知道这对您的效果如何。

我们可以为这个实现提供用户和服务

viewsets.py 路由器.py
class AccountViewSet(viewsets.ModelViewSet):
    """
    A simple ViewSet for viewing and editing accounts.
    """
    http_method_names = ['GET']
    queryset = Account.objects.all()
    serializer_class = AccountSerializer
from rest_framework import routers

router = routers.SimpleRouter()
router.register(r'accounts', AccountViewSet)