我正在使用流行的Django REST框架在Python / Django中创建REST API。
然而,我偶然发现了一些事情。我在下面的代码片段中有一个API调用来显示所有模因。
这将返回有关数据库中所有模因的所有已知信息的列表...如何让Django REST框架返回超链接的LIST以及有关每个超链接背后的特定模因的所有信息?或者这不是“RESTful”吗?对不起,但是这几天互联网上关于REST的FUD太多了,我还在学习这些东西。 : - )
提前感谢任何提示!
ķ。
(django)kristof@kristof:~/dev/projects/sandbox$ curl -i -H "Authorization: Token 3fcb196896cf361a586f200cd05d1fb76dc595e9" -X GET http://api.sandbox.dev:8080/memes/
HTTP/1.0 200 OK
Date: Sat, 04 Oct 2014 19:23:18 GMT
Server: WSGIServer/0.1 Python/2.7.6
Vary: Accept, Cookie
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
Allow: GET, POST, HEAD, OPTIONS
[{"id": 2, "name": "Overly Attached Girlfriend"}, {"id": 1, "name": "Good Guy Greg"}]
答案 0 :(得分:1)
让自己更清楚:我希望/ memes /中的端点返回数据库中模因的URL列表,其中包含每个URL后面每个模因的更多详细信息。
我希望端点返回的是这样的:
["http://api.sandbox.dev:8080/memes/2/", "http://api.sandbox.dev:8080/memes/1/"]
而不是列出每个模因的所有细节。
答案 1 :(得分:1)
在你的序列化程序类中,在版本3中添加to_representation方法(我认为它是版本2中的to_native)。
def to_representation(self, obj):
# maniputale your object here to create the hyperlink
hyperlink = "/link/details/%s" % obj.id
return hyperlink
此方法的返回值是响应列表中的一个元素。
答案 2 :(得分:0)
好
好像你正在收到一个Json。从json转换它,你将有你的列表a = '[{"id": 2, "name": "Overly Attached Girlfriend"}, {"id": 1, "name": "Good Guy Greg"}]'
import json
type(json.loads(a))
list
在使用负载时,您应该注意一些事情,例如代码注入。谷歌它有一个概念