在DRF中使用HyperlinkedModelSerializer有什么好处?

S队:

参考该链接,我已经看到了很多在Django Rest Framework中使用HyperlinkedModelSerializer的示例。它说:

HyperlinkedModelSerializer类与ModelSerializer类相似,不同之处在于它使用超链接表示关系而不是主键。

我的问题是,与常规模型序列化程序相比,使用它们的用例/好处是什么?

伊万:

唯一的区别是,如您所引用的那样,主键和外键由指向这些资源的URL表示,而不仅仅是实际的键值。

好处是,当您要检索相关对象时,不必在前端中构造资源URL。

完全另一件事是嵌套表示,它允许您在序列化器输出中内联相关对象。这可以用两种组合ModelSerializer,并HyperlinkedModelSerializer当你认为它是更方便的API消费者有相关的项目马上,而不是把其他请求对它们进行检索。

嵌套的表示形式可以通过Meta.depth选项实现,也可以使用相关模型的序列化器(而不是)来实现RelatedField

正如@xleon在评论中所说,使用URL作为键使其他开发人员更容易理解您的API。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章