一个有关 Django Rest Framework 的梦

2019-11-12 作者:新闻   |   浏览(188)

加拿大28开奖结果,adonis-rest

基于AdonisJs的Restful API基础构件, AdonisJs中文网: https://adonis-china.org

Django Rest Framework 这个框架的相关资料确实少,碰到问题比较难以解决,连睡觉都在思考解决的问题。

https://github.com/wxs77577/adonis-rest

file

最近有一个关于 Django Rest Framework 的问题一直困扰我,在使用视图集 ViewSet 的时候,有时候序列化模型的读写不一定完全一样,这时候该如何输出呢?

安装

  1. cnpm install --save adonis-rest

所谓日有所思,夜有所梦。昨晚做了一个奇怪的梦。

准备

Tips: 请确保你的/app/Model/目录里有一些模型文件. 如果没有的话可以用 ./ace make:model News 来创建一个新闻模型

/app/Http/routes.js

Route.put('/api/:resource', 'RestController.update') //可选
Route.resource('/api/:resource', 'RestController')

Create /app/Http/Controllers/RestController.js

'use strict'

const BaseRestController = require('adonis-rest')

class RestController  extends BaseRestController{

}

module.exports = RestController

就这样,所有模型的Restful接口就可以访问了。

梦的大概是这样的:

文档

Base uri: http://localhost:3333/api

请求方法 URL 描述
GET /news 获取新闻列表
POST /news 获取一条新闻
PUT/PATCH /news/:id 修改一条新闻
DELETE /news/:id 删除一条新闻

我发现了 Django Rest Framework 在 Response 的时候可以定义一个 Response Serializer Model,这样就可以省去一些不必要显示的字段。

GET /news

获取所有新闻

我将信将疑,今天进它的官网查找了一下到底有没有这个 API,发现确实.......果然.........没有。

URL查询参数

参数名 示例值 描述
pagination 1 获取包含分页信息的数据,否则获取扁平数组,不过你仍然可以通过headers来获取分页信息
query {"user_id": 1} 查询条件,也可以用 filterwhere
page 1 当前页
perPage 10 每页显示数量,也可以用 limit
offset 10 跳过数量,也可以用 skip
fields id,title,created_at select的字段
orderBy id 排序,可以用-id表示desc(降序)

不过按这个思路还是给了我解决方法,可能这个解决方法有些糙。

本文由加拿大28开奖官网发布于新闻,转载请注明出处:一个有关 Django Rest Framework 的梦

关键词: