danistark1 / recipesAPI

API endpoints for https://github.com/PascaleStark
0 stars 0 forks source link
recipes-api

API endpoints for Recipe Manager project by https://github.com/PascaleStark Test server php -S localhost:8000 -t public/

APIs

Endpoint ex Function
GET /recipes Get all recipes
GET /recipes/name/{name} Get recipe by name
GET recipes/where recipes/where?id=1 Get recipe with a condition
GET /recipes/search GET /recipes/search?q=pizza&page=1&filter={field} Search for recipe with a query, paginated
GET recipes/file/{id} recipe media file id Get a recipe media file
POST recipes/category post a recipe category
POST recipes/upload/{id} post a recipe media file
POST /recipes Post a recipe
DELETE recipes/delete/{id} Delete a recipe
DELETE recipes/config/deletecache Clear config cache
PATCH recipes/favourites/{id}} Set a recipe as favourite
PATCH recipes/featured/{id} Set a recipe as featured
PATCH recipes/update/{id} Update a recipe field

SETUP

Configuration

Config Key Config Value Function
app-version 1 Current application version
allowed-extensions gif,jpg,jpeg,png File extensions that are allowed for uploading purpose
max-file-size 20 Max upload file size in MBs
image-url http://{serverIP}/recipesAPI/public/ images location on the server
rate-limit-requests 3 This is the number of allowed requests per minute

PAGINATION

Results are pagniated by default.

Paginator

RATE-LIMITING

APIs use symfony's RateLimit factory. The limit can be configured using the config key "rate-limit-requests".

SCHEMAS

CORS LISTNER (TEST Env)

Cors Listener

CACHE Handler

Cache Handler

LOGGER

Logger