Skip to content

Latest commit

 

History

History
154 lines (106 loc) · 3.11 KB

kuliner_api.md

File metadata and controls

154 lines (106 loc) · 3.11 KB

Kuliner API

Dokumen ini berisi penjelasan mengenai Kuliner API.

Kuliner API adalah API sederhana yang digunakan untuk melakukan CRUDS (Create, Read, Update, Delete, & Search) pada katalog kuliner Indonesia.

Endpoint-endpoint yang terdapat pada API ini:


Indeks Kuliner

POST: /foods

Endpoint ini digunakan untuk mengindeks data kuliner ke dalam database.

Request Body:

  • name, String => nama dari kuliner yang akan diindeks, jika nama kuliner sudah ada di database, maka data dari kuliner yang sudah ada tersebut akan ditimpa dengan data yang baru.
  • description, String => deskripsi dari kuliner yang akan diindeks.

Example Request:

POST /foods
Content-Type: application/json

{
    "name": "Bakso Istighfar",
    "description": "Bakso sebesar bola voli yang banyak tersedia di daerah Bandung. Saking besarnya bakso ini, orang yang melihat sampai harus ber-istighfar, karena itulah bakso ini dinamakan sebagai bakso istighfar."
}

Success Response:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "ok": true,
    "data": {
        "id": "bakso-istighfar",
        "name": "Bakso Istighfar",
        "description": "Bakso sebesar bola voli yang banyak tersedia di daerah Bandung. Saking besarnya bakso ini, orang yang melihat sampai harus ber-istighfar, karena itulah bakso ini dinamakan sebagai bakso istighfar."
    }
}

Error Responses:

  • Bad Request (400)

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
        "ok": false,
        "err": "ERR_BAD_REQUEST",
        "msg": "missing `name`"
    }

    Client akan menerima error ini jika ada parameter yang tidak terisi ketika melakukan request.

Back to Top


Hapus Kuliner

DELETE: /foods/{food_id}

Endpoint ini digunakan untuk menghapus data suatu kuliner dari database.

Example Request:

DELETE /foods/bakso-istighfar

Success Response:

HTTP/1.1 200
Content-Type: application/json

{
    "ok": true
}

Error Responses:

  • Not Found (404)

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "ok": false,
        "err": "ERR_NOT_FOUND",
        "msg": "data is not found"
    }

Back to Top


Cari Kuliner

GET: /foods?q={query}

Endpoint ini akan mengembalikan maksimum 10 kuliner yang paling relevan dengan query yang diberikan.

GET /foods?q=Bakso

Success Response:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "ok": true,
    "data": {
        "query": "Bakso",
        "foods": [
            {
                "id": "bakso-istighfar",
                "name": "Bakso Istighfar",
                "description": "Bakso sebesar bola voli yang banyak tersedia di daerah Bandung. Saking besarnya bakso ini, orang yang melihat sampai harus ber-istighfar, karena itulah bakso ini dinamakan sebagai bakso istighfar."
            }
        ]
    }
}

Error Responses:

Tidak ada response error spesifik

Back to Top