FeathersJS官方文檔閱讀筆記(六)

REST

通過services路徑的RESTful接口,可以把服務接口暴露出去。

也就是說可以通過HTTP方法來調用服務,

使用

安裝這個Provider

$ npm install feathers-rest body-parser

如果想在執行REST handler之前,增加其他的中間件,可以在注冊服務前,調用

app.use(middleware)。

// app.js

'use strict';

const feathers = require('feathers');

const rest = require('feathers-rest');

const bodyParser = require('body-parser');

class MessageService {

constructor() {

this.messages = [];

}

find(params) {

return Promise.resolve(this.messages);

}

create(data, params) {

this.messages.push(data);

return Promise.resolve(data);

}

}

const app = feathers()

// Enable the REST provider

.configure(rest())

// Turn on JSON parser for REST services

.use(bodyParser.json())

// Turn on URL-encoded parser for REST services

.use(bodyParser.urlencoded({ extended: true }));

app.use('/messages', new MessageService());

// Log newly created messages on the server

app.service('messages').on('created', message =>

console.log('Created message', message)

);

app.listen(3030);

查詢,路由和中間件參數

const feathers = require('feathers');

const rest = require('feathers-rest');

const app = feathers();

app.configure(rest())

.use(function(req, res, next) {

req.feathers.fromMiddleware = 'Hello world';

next();

});

app.use('/users/:userId/messages', {

get(id, params) {

console.log(params.query); // -> ?query

console.log(params.provider); // -> 'rest'

console.log(params.fromMiddleware); // -> 'Hello world'

console.log(params.userId); // will be `1` for GET /users/1/messages

return Promise.resolve({

id,

params,

read: false,

text: `Feathers is great!`,

createdAt: new Date.getTime()

});

}

});

app.listen(3030);

自定義響應格式

默認地,REST回應的格式化器是由中間件來實現,一般返回JSON格式數據。

通過重載res.format來重新格式化res.data,通過中間件可以返回請求。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容