Comments (5)
@littlesmilelove sorry about the delayed response!
Would something like this work?
import { Server } from 'miragejs'
import userRoutes from './user-routes'
import orderRoutes from './order-routes'
new Server({
routes() {
userRoutes.call(this)
orderRoutes.call(this)
}
})
// user-routes.js
export default function() {
this.get('/users', schema => schema.users.all())
// ...more routes
this.passthrough('/api/user/**')
}
// order-routes.js
export default function() {
this.post('/orders');
// ...more routes
}
I agree we need a nested/namespaced routing DSL but we don't have one today.
from discuss.
Yes, unfortunately right now that is true because of how we use Pretender.
The guides show how you can export a function to start your server: https://miragejs.com/quickstarts/react/development#step-2-define-your-server
So you could have multiple servers, but only invoke startServer()
or makeServer()
(or whatever you call it) when you need to. You just can't have two servers running at once, but you can define as many as you like.
If you want to shut one down and start another, you just need to call shutdown()
first:
import { makeOneServer, makeAnotherServer } from './servers'
let serverOne = makeOneServer();
// do some things
serverOne.shutdown()
let serverTwo = makeAnotherServer();
// do some more things to interact with the new server
serverTwo.shutdown()
from discuss.
@samselikoff I get it, but in my case, I want to separate my apis by namespace
, so I can define them in separate files, and I also want to set every namespace passthrough strategy
, for example:
- api/user namespace :
passthrough
enable - api/order namespace:
passthrough
disable
So, can you consider to provide a way for use define routes by namespace, and in the server, all the namespace routes compose a complete server routes. I think this way will meet all my needs.
from discuss.
@samselikoff thank you for your suggestion, this can solve part of the problem. And can you provide your roadmap? I would like to help you achieve this feature together.
from discuss.
Made a tracking issue here #44
It's not on the immediate roadmap right now because there are other more urgent things, but it does come up a lot so it's important
from discuss.
Related Issues (20)
- Add Middleware support to Mirage HOT 1
- Custom exception post-processing HOT 2
- Tracking issue for routing DSL / passthrough / namespace improvements
- Model hooks / default attributes HOT 5
- Passthrough external requests with wildcard HOT 4
- hasMany to hasMany (manyToMany) fixture associations not created HOT 1
- nativescript-vue with miragejs HOT 1
- Question: Expose mocked API as standalone on a specific port? HOT 3
- Be able to mock websocket calls HOT 2
- More array functions for models / collections HOT 8
- cannot use trait with afterCreate HOT 8
- routes for related resources HOT 2
- [Suggestion] Automatically parse request body based on content type HOT 2
- Feature Request: Generate API docs from test runs HOT 3
- How to only intercept request that defined in routes HOT 2
- server.createList() and server.create() creates duplicate values with dynamic factory definition
- Is it possible to use a combination of mock API's and actual API calls ? HOT 1
- Using a nested primary id for update and deletes
- Adding context object to handler to mock auth
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from discuss.