Coder Social home page Coder Social logo

mupli-api's Introduction

API module for Mupli

Description

Module to setup Rest api for multiple projects without boilerplate code. add

Specs

  • module name : api
  • path prefix: /api
  • supported files : js, json

setup project

/config/apps.json

{
    "customProjectName": {
        "hosts": ["localhost", 
            // "support multi domains", "my-local", 
        ],
        "modules": ["api",
        //some other if needed "page" ,"store", "react", "users", "security", "security-auth", "aws", "files", "services", "products", "media", "cron"
        ]
    },
}

/app/app.js

import {Mupli} from "mupli-core"
import {ApiModule} from "mupli-api"


Mupli.init()
    .module(new ApiModule())
    .listen(3000)

/app/customProjectName/api ./someFile.js

import {isMethod} from "mupli-middlewares"

export function init(ctx) {
    return "init OK"

}

export async function super(ctx) {
    return ctx.res.status(201).json({
        message: "super accepted"
    })
}

export const test = [
    //... middlewares if needed
    
    isMethod("post"),
    // hasRole("POSTMAN"),
    // hasHeader("header"),
    // isResourceOwner()
    // isFileUpload()
    
    //OR custom middleware:
    async (ctx) => {
        //my custom code ..
        console.log("custom")
    },
    
    async (ctx) => {

        if (!ctx.req.is("POST")) {
            //or manual check
            return ctx.res.status(405); 
        }

        return {
            message: "post test"
        } // 200 OK
    }
]

Got to:

  • GET localhost:3000/api/someFile
  • GET localhost:3000/api/someFile/super
  • POST localhost:3000/api/someFile/test

mupli-api's People

Contributors

mupli avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.