我有一个/GET/
请求的API端点,它需要一些必需的参数,例如/resources/?bag_id=11
bag_id
表示应用程序中的Bag对象。
在我的场景中,这就是我想要处理此调用的方式:
1)如果没有提供bag_id作为网址的一部分,则会引发错误'bag_id' is a required parameter
。
2)如果提供了bag_id,则检查是否存在Bag对象,如果没有,则提出错误'no bag found'
。
我想知道哪个可能是处理这个的正确位置:
我应该覆盖list()并在那里或其他地方处理这些情况吗?哪个是检查这两个条件的正确位置?
答案 0 :(得分:1)
对于第一个问题:您正在描述一个URL,该URL将从您的后端提供。如果URL不存在,那么响应应为404,对吧?或者,如果您要构建一个浏览网址结构,那么没有ID的网址上的GET应该会返回项目列表。 在哪里检查条件:无处 - 框架为您执行此操作。
对于第二个问题:您可以通过在url定义中使用RegEx来验证id的形式。如果资源不存在于服务器上,那么有几个关于正确答案的争论:404或200,其中包含标题或内容中的描述。我的建议:您要求服务器上存在不存在的资源 - 您应该回答404。 在哪里检查条件:无处 - 框架为您执行此操作。