Description
Expected Behavior / New Feature
This may already be a feature but I see no mention of it in the documentation and it isn't working in my project.
It would be good to support multiple .json files, potentially with better naming conventions. I have an app with a number of services and routes, and it would be nice to separate them out into dedicated files rather then have one huge configuration.json
.
For example:
- AccountRoutes.json <- Would have all routes for the account controller/service
- ComponentActions.json <- Would have all the routes for component actions controller/service
etc. etc.
Is this already possible? It seems that when I define multiple .AddJsonFile()
it only picks up the routes in the last file it pinks up with the ReRoutes
field.
Activity
[-]Supporting multiple *.json files?[/-][+]Supporting multiple json route files?[/+][-]Supporting multiple json route files?[/-][+]New Feature - Merge configuration files[/+]TomPallister commentedon Mar 29, 2018
@AaronFixer thanks for your interest in the project!
This feature isn't supported yet I will but it on the backlog but if you would like to have a go yourself please feel free to submit a PR.
There are a couple of considerations here.
Ocelot uses configuration.json as a database so a solution would need to take multiple files and merge them into configuration.json or have a second file that ocelot uses as a database (not sure I like this).
Been thinking about this for a while completely change how configuration works. I was thinking of making it more like identity server where it is provided statically in c# / database.
You could just do this yourself in ConfigureAppConfiguration with something like below and it would not need to be part of Ocelot.
I think 1 and 3 are better options at the moment for me but that could change!
Anyway let me know if you want to give this a try and I will be of as much assistance as I can...otherwise I'm afraid you will have to wait a bit for the feature :(
AaronFixer commentedon Mar 29, 2018
For me this is definitely something I think I (and many others) could potentially benefit from with large projects wanting to use a Gateway!
I'll have to do this in my spare time, although I don't imagine it should take too long.
1 and 3 both work. 3 is something I could just use for the time being as a workaround. I'll see if I get a chance to work on a PR for 1. in the meantime.
Thanks for getting back to me!
TomPallister commentedon Mar 29, 2018
Yep I agree this would be a useful feature! If you don't get round to it its on my list and I expect to do it in the next months or so.
#296 renamed configuration.json to ocelot.json in preparation
#296 started writing merge code
#296 coming up with ideas for this config merging
#296 still hacking this idea around
#296 will now do a crappy merge on the configuration
#296 merged develop into this branch
30 remaining items