美文网首页
FeathersJS官方文档阅读笔记(六)

FeathersJS官方文档阅读笔记(六)

作者: hjw2015 | 来源:发表于2016-08-13 13:05 被阅读766次

    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,通过中间件可以返回请求。

    相关文章

      网友评论

          本文标题:FeathersJS官方文档阅读笔记(六)

          本文链接:https://www.haomeiwen.com/subject/awnesttx.html