plasmajs
plasmajs copied to clipboard
Resources for api routes - An alternative to APIRouter.
Branch: dev_resources_api
An alternative to APIRouter.
API Possibilities
- Simple (Most consistent with the rest of the api)
<Resource name='posts'>
<Action path='/' action={listPost} />
<Action path='/add' method='POST' action={createPost} />
</Resource>
OR
- Method names as actions
// Class declaration
class ControllerClass extends BaseController {
listPost() { /* ... */ }
createPost() { /* ... */ }
}
// Usage
<Resource name='posts' controller={ControllerClass}>
<Action path='/' action='listPost' />
<Action path='/add' method='POST' action='createPost' />
</Resource>
OR
- Declaring stuff with decorators
// Class declaration
@resource('post')
class ControllerClass extends BaseController {
@action('/')
listPost() { /* ... */ }
@action('/add', 'POST')
createPost() { /* ... */ }
}
// Usage
<Resource controller={ControllerClass} />