Skip to content

Latest commit

 

History

History
179 lines (135 loc) · 3.44 KB

File metadata and controls

179 lines (135 loc) · 3.44 KB

API Document

  • Document for using service's endpoints.

Table of Endpoints

Security Service

  • Service for signing and encrypting JWT.
  • Running default on:
    • Host: 0.0.0.0
    • Port: 8080
  • Header Authentication.

JWT Resource

  • POST: /jwt
    • Role Allowed: admin, user
    • Response Body: PLAIN_TEXT of JWT

User Service

  • CRUD service for users, models managements.
  • Running default on:
    • Host: 0.0.0.0
    • Port: 8081
  • Header Authentication.

User Resource

  • GET: /users

    • Role Allowed: admin, user
    • Response body: list of users
  • GET: /users/count

    • Role Allowed: admin, user
    • Response body: {number of users}
  • GET: /users/paging

    • Role Allowed: admin, user
    • Request Parameters:
      • Query: {pageNo}: integer
      • Query: {pageSize}: integer
    • Response body: list of users
  • GET: /users/profile

    • Role Allowed: admin, user
    • Request Parameters:
      • Query: {username}: string
    • Response body: single user
  • GET: /users/search

    • Role Allowed: admin, user
    • Request Parameters:
      • Query: {keyword}: string
    • Response body: list of users
  • GET: /users/{id}

    • Role Allowed: admin, user
    • Request Parameters:
      • Path: {id}: integer
    • Response body: single user
  • POST: /users/create

    • Permit All
    • Request Body:
    {
      "username": "username",
      "password": "@Password12345",
      "userDetail": {
        "firstname": "firstname",
        "lastname": "lastname",
        "email": "email@example.com"
      }
    }
    • Response Body: don't care about it, it's suck!
  • PUT: /users/update

    • Role Allowed: admin, user
    • Request Parameters:
      • Query: {id}: integer
    • Request Body:
    {
    "roles": "{admin/user}",
    "userDetail": {
      "firstname": "new_firstname",
      "lastname": "new_lastname",
      "email": "new_email@example.com"
    }
  • PUT: /uses/updatePassword

    • Role Allowed: admin, user
    • Request Parameters:
      • Query: {id}: integer
      • Query: {oldPassword}: string
      • Query: {newPassword}: string

DELETE: /users/delete

  • Role Allowed: admin, user
  • Request Parameters:
    • Query: {username}: string

DELETE: /users/delete/{id}

  • Role Allowed: admin, user
  • Request Parameters:
    • Path: {id}: integer

  • Response Body (Single)
{
  "id": 1,
  "username": "username",
  "password": "$2a$10$Borm.iyHy/rMHNwd1g9PoOpFDu4IjWwYSHL4F7Anls8dvTEj8K6aG",
  "role": "admin",
  "firstname": "firstname",
  "lastname": "lastname",
  "email": "email@example.com",
  "createTime": "YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm"
}
  • Response Body (List)

    [
      {
        "id": 1,
        "username": "username1",
        "password": "$2a$10$Borm.iyHy/rMHNwd1g9PoOpFDu4IjWwYSHL4F7Anls8dvTEj8K6aG",
        "role": "admin",
        "firstname": "firstname1",
        "lastname": "lastname1",
        "email": "email2@example.com",
        "createTime": "YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm"
      },
      {
        "id": 2,
        "username": "username2",
        "password": "$2a$10$Borm.iyHy/rMHNwd1g9PoOpFDu4IjWwYSHL4F7Anls8dvTEj8K6aG",
        "role": "user",
        "firstname": "firstname2",
        "lastname": "lastname2",
        "email": "email2@example.com",
        "createTime": "YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm"
      },
      ...
    ]

Model Resource

Rating Resource

Inference Resource

Resource

File Resource