我正在寻找在我正在制作的IP管理网络广告中添加其他API的方法。我希望API能够使用有关网络的信息来响应多参数查询,而不管参数的顺序如何。我想要:
ipmanager.com/api/customer_id/54331/network_category/iscsi
返回相同的内容:
ipmanager.com/api/network_category/iscsi/customer_id/54331
但到目前为止,我还没有找到关于如何使api位置的参数不可知的文档。有可能吗?
答案 0 :(得分:2)
由于您在urls.py中指定了参数,因此无法实现。但也许你可以用不同的方式尝试。
ipmanager.com/api/?network_category=iscsi&customer_id=54331
在你的get_queryset方法中,尝试获取这样的参数。
network_category = request.query_params.get('network_category', None)
customer_id = request.query_params.get('customer_id', None)
在您的urls.py文件中,将其添加到您的网址格式:
url(r'^api/get_customer', views.get_customer, name='get customer'),
问题是,您不必在urls.py中指定任何内容。您只需提供参数并将其提取到视图中即可。
我通常会选择一个参数,所以我不确定这会有用,但试一试,请告诉我。
另外,不要忘记在urls.py中更改您的网址。如果您不确定该怎么做,我可以提供帮助。
答案 1 :(得分:0)
不,这是不可能的。您需要定义多个URL以指向同一视图。