0.0.7 • Published 4 years ago
@moonboot/plugin-express v0.0.7
@moonboot/plugin-express
What
A Project support rest module for
moon-boot
How to use
npm i @moonboot/plugin-express
Then you can create controller as the following example.
// This Moudle will auto use when installed
// See project For More Information
// index.ts
import { start } from 'moon-boot'
class Main {
constructor() {
start(__dirname)
}
}
new Main()
// controller.ts
@Controller()
class TestController {
@Get('test/:id')
test(@Body(UserParam) userParam: UserParam) {
return 'success'
}
}
Decorator
@Controller
To Mark One Class is Controller.@Controller() class TestController {}
Param: basePath, must startsWith
/
, default:'/'
@Get
@Post
@Delete
@Put
To Mark One Method is Route Method@Controller() class TestController { @Get('test/:id') test(@Body(UserParam) userParam: UserParam) { return 'success' } }
Param: followingPath,
path.resolve(ControllerPath, MethodPath)
, default:''
@Req
@Res
@Next
Some simple Param For Express@Controller() class TestController { @Get('test/:id') test( @Req() req: Express.Request, @Res() res: Express.Response, @Next() next: Express.Next ) { res.json({ success: true }) } }
Tip: !!! When you use param
@Res
, plugin will not deal method return value.@Path
===req.param
Get Param With Express param@Controller() class TestController { @Get('test/:id') test(@Path('id') id: string) { return 'success' } // When you pass one constructor with the second param, Method will auto transform data @Post('test/:id') test(@Path('id', Number) id: number) { return 'success' } }
@Query
===req.query
Get Param With Express query paramsexample as
@Path
@Header
===req.header
Get Param With Express header paramsexample as
@Path
@Body
===req.body
Get Param With Express bodyclass User { name?: string } @Controller() class TestController { @Get('test') test(@Body() body: any) { return 'success' } // When you pass one constructor with the first param, Method will auto transform data @Post('test') test(@Body(User) body: User) { return 'success' } }
FAQ
Param
server.port = 8080
The Port which express will listen