2 Menu Endpoints
Elinus Persson edited this page 2026-05-25 09:15:20 +00:00

Menu Endpoints


GET Health

Path

GET: /api/menu/health

Description

Used to check if the container and or application is running correctly.

Parameters

None.

Returns

  • 200 OK: Returns the string "MenuService is running".

GET Categories

Path

GET: /api/menu/categories

Description

Retrieves a list of all available food categories cached from the restaurant menu.

Parameters

None.

Returns

  • 200 OK: Returns a JSON array of strings, where each entry is a unique category found from the restaurant menu. No duplicates will occur.

GET Today

Path

GET: /api/menu/today

Description

Fetches the full menu offerings for the current day.

Parameters

None.

Returns

  • 200 OK: Returns a JSON array containing the day's menu. If no schedule data is found for today in the cache, an empty JSON array [] is returned.

The menu object contains:

  • Date: Datetime string (in CET/CEST, Swedish time) for the day the menu is offered.
  • Vegetarian: A string value of the vegetarian alternative.
  • Meat: A string value of the meat alternative.
  • FastFood: A string value of the "snabbt och gott" alternative (often called "Dagens Pasta").
  • Salad: A string value of today's salad.
  • MiscOptions: A JSON object containing any additional categories not covered by the standard four above.

Example successful return:

[
  {
    "Date": "2026-05-25T02:00:00+02:00",
    "Vegetarian": "koreansk vegobiff serveras med jasminris, picklad kål, vårlök och sesamfrö",
    "Meat": "Vitlöksmarinerad kycklingfilé serveras med fransk potatissallad, örtcrème och citron",
    "FastFood": "Varje dag serveras - Dagens Pasta-",
    "Salad": "Götasalens Caesarsallad",
    "MiscOptions": {}
  }
]

GET Today/{category}

Path

GET: /api/menu/today/{category}

Description

Fetches today's menu offering, filtered on a specific category.

Parameters

  • category (Path Parameter, String): The name of a cached category. To find all valid category names, use the /api/menu/categories endpoint.

Returns

  • 200 OK: Returns a JSON array with a single object containing the requested category's meal. If no schedule data is found, or if the requested category does not exist, an empty JSON array [] is returned.

The object contains:

  • Date: Datetime string (YYYY-MM-DD) for the day the menu is offered.
  • Category: The category requested.
  • Meal: A string value describing the food.

Example successful return:

[
  {
    "Date": "2026-05-25",
    "Category": "Salad",
    "Meal": "Götasalens Caesarsallad"
  }
]

GET Week

Path

GET: /api/menu/week

Description

Fetches the full menu offerings for the entire current week.

Parameters

None.

Returns

  • 200 OK: Returns a JSON array of objects, one for each day of the week. If no schedule data could be found in the cache, an empty JSON array [] is returned.

Each object contains:

  • Date: Datetime string (in CET/CEST, Swedish time) for the day the menu is offered.
  • Vegetarian: A string value of the vegetarian alternative.
  • Meat: A string value of the meat alternative.
  • FastFood: A string value of the "snabbt och gott" alternative.
  • Salad: A string value of the day's salad.
  • MiscOptions: A JSON object containing any additional categories.

Example successful return:

[
  {
    "Date": "2026-05-25T02:00:00+02:00",
    "Vegetarian": "koreansk vegobiff serveras med jasminris, picklad kål, vårlök och sesamfrö",
    "Meat": "Vitlöksmarinerad kycklingfilé serveras med fransk potatissallad, örtcrème och citron",
    "FastFood": "Varje dag serveras - Dagens Pasta-",
    "Salad": "Götasalens Caesarsallad",
    "MiscOptions": {}
  },
  {
    "Date": "2026-05-26T02:00:00+02:00",
    "Vegetarian": "Bolognese på sojafärs serveras med tagliatelle, ruccola och vitlöksbröd",
    "Meat": "Panerad fisk serveras med picklad fänkål, dansk remouladsås, potatis och citron",
    "FastFood": "Varje dag serveras - Dagens Pasta-",
    "Salad": "Götasalens Caesarsallad",
    "MiscOptions": {}
  }
]

GET Week/{category}

Path

GET: /api/menu/week/{category}

Description

Fetches the week's menu offerings filtered by a specific category.

Parameters

  • category (Path Parameter, String): The name of a cached category. To find all valid category names, use the /api/menu/categories endpoint.

Returns

  • 200 OK: Returns a JSON array with multiple objects, representing the requested category's meal for each day of the week. If no schedule data could be found, or if the requested category does not exist, an empty JSON array [] is returned.

Each object contains:

  • Date: Datetime string (YYYY-MM-DD) for the day the menu is offered.
  • Category: The category requested.
  • Meal: A string value describing the food.

Example successful return:

[
  {
    "Date": "2026-05-25",
    "Category": "Salad",
    "Meal": "Götasalens Caesarsallad"
  },
  {
    "Date": "2026-05-26",
    "Category": "Salad",
    "Meal": "Götasalens Caesarsallad"
  }
]