Skip to content

API Design

Michael edited this page Dec 3, 2022 · 7 revisions

Genereller Aufbau

/api/:kind/:version/:domainName:/:commandName

Examples:
/api/query/v1/items/getList
/api/query/v1/tags/getList

/api/command/v1/item/submit
/api/command/v1/item/suggestChange

API Design

Get one item with detailed view

/api/query/v1/items/getOne

Query: 
{
   slug: string // required
}

---
Returns Item

Aktueller Mock:

{
    "/api/query/v1/items/getList": "/items",
    "/api/query/v1/items/getList?page=:page&limit=:limit": "/items?_page=:page&_limit=:limit",
    "/api/query/v1/items/getList?limit=:limit&page=:page": "/items?_limit=:limit&_page=:page",
    "/api/query/v1/items/getList?page=:page": "/items?_page=:page",
    "/api/query/v1/items/getList?limit=:limit": "/items?_limit=:limit",
    "/api/query/v1/items/getOne?slug=:slug": "/items/:slug",
    "/api/query/v1/tags/getList": "/tags",
    "/api/query/v1/tags/getList?page=:page&limit=:limit": "/tags?_page=:page&_limit=:limit",
    "/api/query/v1/tags/getList?limit=:limit&page=:page": "/tags?_limit=:limit&_page=:page",
    "/api/query/v1/tags/getList?page=:page": "/tags?_page=:page",
    "/api/query/v1/tags/getOne?slug=:slug": "/tags/:slug"
}
Clone this wiki locally