I would suggest something along the following lines:
- change all base endpoints to plural, i.e.:
file -> files, mission -> missions, etc
- all
GET endpoints that always return either a 404 or a single item should not use query params and should use a url (:uuid, etc) param. I.e. we should make more extensive use of :param fragements and REST verbs.
- ex:
GET missions/many should become GET /missions
- ex:
POST missions/create endpoints should just become POST /missions
- we need to think about how we want to "query one by name" either we use the paginated endpoints and request a single item. Or we have endpoints like
projects/:porjectId/missions/:missionId and then projectId and missionId can be names or uuids. (personally I think going the paginated route is much easier tho makes the typing slightly less strict.)
I would suggest something along the following lines:
file -> files,mission -> missions, etcGETendpoints that always return either a404or a single item should not use query params and should use a url (:uuid, etc) param. I.e. we should make more extensive use of:paramfragements and REST verbs.GET missions/manyshould becomeGET /missionsPOST missions/createendpoints should just becomePOST /missionsprojects/:porjectId/missions/:missionIdand thenprojectIdandmissionIdcan be names or uuids. (personally I think going the paginated route is much easier tho makes the typing slightly less strict.)