我是 Django REST 框架的初学者,需要你的建议。我正在开发一个网络服务。服务必须为其他服务提供 REST 接口。我需要实现的 REST 接口不能直接与我的模型一起工作(我指的是 get、 put、 post、 delete 操作)。相反,它提供一些计算结果的其他服务。对于请求,我的服务进行一些计算并返回结果(不将结果存储在自己的数据库中)。
下面是我对如何实现 REST 接口的理解。如果我错了,请纠正我。
- 创建进行计算的类。命名为“ CalcClass”。 CalcClass 在其工作中使用模型。
- 计算所需的参数被传递给构造函数。
- 实现计算操作。它返回结果为“ ResultClass”。
- 创建 ResultClass。
- 从物体派生出来的。
- 它只有包含计算结果的属性。
- 计算结果的一部分表示为元组的元组。据我所知,进一步的序列化最好是为这些结果实现一个单独的类,并将这样的对象列表添加到 ResultClass 中。
- 为 ResultClass 创建序列化器。
- 从序列化器派生。
- 计算结果是只读的,因此对字段主要使用 Field 类,而不是专门的类,如 IntegerField。
- 我不应该在 ResultClass 或 Serializer 上暗示 save ()方法,因为我不打算存储结果(我只是想在请求时返回它们)。
- 提示嵌套结果的序列化程序(记住上面提到的元组的元组)。
- 创建视图以返回计算结果。
- 源自 APIView。
- 只需要得到()。
- 在 get ()中,使用从请求中检索到的参数创建 CalcClass,调用它的 calc () ,获取 ResultClass,创建 Serializer 并将 ResultClass 传递给它,然后返回 Response (seralizer.data)。
- 网址
- 我的案子里没有 api 根。我应该只有 URL 来获得各种计算结果(使用差异参数的计算)。
- 为 api 浏览添加调用 format _ affix _ pattern。
我错过了什么吗? 这个方法总的来说是正确的吗?