使用Egg.js編寫RestfulAPI接口(五)資源路由配置


egg.js定義了快速生成CRUD路由配置的方式,比如使用如下方式可以為帖子模塊自動配置一組增刪改查的路由,從而達到簡化繁瑣路由配置的目的。

1.配置資源路由,在router.js文件中增加帖子資源路由

router.resources('posts', '/api/posts', controller.posts);

 

router.resources()函數的第一個參數posts是路由名稱,第二個參數/api/posts是請求路徑。如圖所示:

2.在controller目錄下創建posts.js文件,完整內容如下

'use strict';

const Controller = require('egg').Controller;

class PostsController extends Controller {
    // 列表頁
    async index() {
        console.log('>>> index')
        this.ctx.body = {
            msg: 'ok',
            data: '列表頁'
        };
    };

    // 新增表單頁
    async new() {
        console.log('>>> new')
        this.ctx.body = {
            msg: 'ok',
            data: '新增表單頁'
        };
    };

    // 新增邏輯
    async create() {
        console.log('>>> create')
        this.ctx.body = {
            msg: 'ok',
            data: '新增邏輯'
        };
    };

    // 詳情頁
    async show() {
        console.log('>>> show')
        let id = this.ctx.params.id;
        this.ctx.body = {
            msg: 'ok',
            data: '詳情頁,id=' + id
        };
    };

    // 編輯表單頁
    async edit() {
        console.log('>>> edit')
        let id = this.ctx.params.id;
        this.ctx.body = {
            msg: 'ok',
            data: '編輯表單頁,id=' + id
        };
    };

    // 更新邏輯
    async update() {
        console.log('>>> update')
        let id = this.ctx.params.id;
        this.ctx.body = {
            msg: 'ok',
            data: '更新邏輯, id=' + id
        };
    };

    // 刪除邏輯
    async destroy() {
        console.log('>>> destroy')
        let id = this.ctx.params.id;
        this.ctx.body = {
            msg: 'ok',
            data: '刪除邏輯, id=' + id
        };
    };
}

module.exports = PostsController;

3.PostMain接口測試結果

1.帖子列表頁
請求地址:http://127.0.0.1:7001/api/posts
請求方式:GET
返回結果:
{
    "msg": "ok",
    "data": "列表頁"
}

2.帖子新增表單頁
請求地址:http://127.0.0.1:7001/api/posts/new
請求方式:GET
返回結果:
{
    "msg": "ok",
    "data": "新增表單頁"
}

3.帖子詳情頁
請求地址:http://127.0.0.1:7001/api/posts/2
請求方式:GET
返回結果:
{
    "msg": "ok",
    "data": "詳情頁,id=2"
}

4.帖子編輯表單頁
請求地址:http://127.0.0.1:7001/api/posts/55/edit
請求方式:GET
返回結果:
{
    "msg": "ok",
    "data": "編輯表單頁,id=55"
}

5.帖子新增邏輯
請求地址:http://127.0.0.1:7001/api/posts
請求方式:POST
返回結果:
{
    "msg": "ok",
    "data": "新增邏輯"
}

6.帖子更新邏輯
請求地址:http://127.0.0.1:7001/api/posts/14
請求方式:PUT
返回結果:
{
    "msg": "ok",
    "data": "更新邏輯, id=14"
}

6.帖子刪除邏輯
請求地址:http://127.0.0.1:7001/api/posts/15
請求方式:DELETE
返回結果:
{
    "msg": "ok",
    "data": "刪除邏輯, id=15"
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM