0.0.7 • Published 5 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-expressThen 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
@ControllerTo Mark One Class is Controller.@Controller() class TestController {}Param: basePath, must startsWith
/, default:'/'@Get@Post@Delete@PutTo 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@NextSome 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.paramGet 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.queryGet Param With Express query paramsexample as
@Path@Header===req.headerGet Param With Express header paramsexample as
@Path@Body===req.bodyGet 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 = 8080The Port which express will listen