参考该链接,我已经看到了很多在Django Rest Framework中使用HyperlinkedModelSerializer的示例。它说:
HyperlinkedModelSerializer类与ModelSerializer类相似,不同之处在于它使用超链接表示关系而不是主键。
我的问题是,与常规模型序列化程序相比,使用它们的用例/好处是什么?
唯一的区别是,如您所引用的那样,主键和外键由指向这些资源的URL表示,而不仅仅是实际的键值。
好处是,当您要检索相关对象时,不必在前端中构造资源URL。
完全另一件事是嵌套表示,它允许您在序列化器输出中内联相关对象。这可以用两种组合ModelSerializer
,并HyperlinkedModelSerializer
当你认为它是更方便的API消费者有相关的项目马上,而不是把其他请求对它们进行检索。
嵌套的表示形式可以通过Meta.depth
选项实现,也可以使用相关模型的序列化器(而不是)来实现RelatedField
。
正如@xleon在评论中所说,使用URL作为键使其他开发人员更容易理解您的API。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句