mirror of
https://github.com/typicode/json-server.git
synced 2025-07-29 05:03:04 +08:00
Update rewriter
This commit is contained in:
@ -7,6 +7,10 @@ function updateQueryString (target, sourceUrl) {
|
||||
module.exports = (routes) => {
|
||||
const router = express.Router()
|
||||
|
||||
router.get('/__rules', (req, res) => {
|
||||
res.json(routes)
|
||||
})
|
||||
|
||||
Object.keys(routes).forEach((route) => {
|
||||
if (route.indexOf(':') !== -1) {
|
||||
router.all(route, (req, res, next) => {
|
||||
|
@ -7,6 +7,12 @@ describe('Server', () => {
|
||||
let server
|
||||
let router
|
||||
let db
|
||||
const rewriterRules = {
|
||||
'/api/': '/',
|
||||
'/blog/posts/:id/show': '/posts/:id',
|
||||
'/comments/special/:userId-:body': '/comments/?userId=:userId&body=:body',
|
||||
'/firstpostwithcomments': '/posts/1?_embed=comments'
|
||||
}
|
||||
|
||||
beforeEach(() => {
|
||||
db = {}
|
||||
@ -75,13 +81,7 @@ describe('Server', () => {
|
||||
server = jsonServer.create()
|
||||
router = jsonServer.router(db)
|
||||
server.use(jsonServer.defaults())
|
||||
server.use(jsonServer.rewriter({
|
||||
'/api/': '/',
|
||||
'/blog/posts/:id/show': '/posts/:id',
|
||||
'/comments/special/:userId-:body': '/comments/?userId=:userId&body=:body',
|
||||
'/firstpostwithcomments': '/posts/1?_embed=comments'
|
||||
|
||||
}))
|
||||
server.use(jsonServer.rewriter(rewriterRules))
|
||||
server.use(router)
|
||||
})
|
||||
|
||||
@ -703,6 +703,13 @@ describe('Server', () => {
|
||||
.expect([db.comments[4]])
|
||||
.end(done)
|
||||
})
|
||||
|
||||
it('should expose routes', (done) => {
|
||||
request(server)
|
||||
.get('/__rules')
|
||||
.expect(rewriterRules)
|
||||
.end(done)
|
||||
})
|
||||
})
|
||||
|
||||
describe('router.render', (done) => {
|
||||
|
Reference in New Issue
Block a user