Convenzione URI REST - Coinvolge diverse risorse

5

Sto progettando un'API REST ma ho riscontrato alcune difficoltà durante la denominazione. Ho una API come questa:

GET   .../users/{userId}/categories/count
GET   .../users/{userId}/categories/{categoryId}/count
GET   .../users/{userId}/categories/{categoryId}/tickets

Sembra che l'API riguardi le categorie degli utenti, ma in realtà gli usi sono:

Get the number of tickets for each available ticket categories for specified user

Get the number of tickets for the specified ticket category for specified user

Get all the tickets under the specified ticket category for specified user

Per le prime 2 API, potrei cambiarlo in:

.../users/{userId}/tickets/categories/count

.../users/{userId}/tickets/categories/{categoryId}/count

Ma per l'ultimo, non sono sicuro di come progettare il percorso dell'API. È strano se lo cambio in:

.../users/{userId}/tickets/categories/{categoryId}/tickets
    
posta hades 15.06.2017 - 05:15
fonte

1 risposta

6

Dalla tua categoria di descrizione sembra più un attributo di un biglietto che un'entità discreta. Quindi userei un parametro di query per filtrare i biglietti per categoria.

.../users/{userId}/tickets                             #1
.../users/{userId}/tickets?category=categoryId         #2
.../users/{userId}/tickets/count                       #3
.../users/{userId}/tickets/count?category=categoryId   #4
  1. Ottiene tutti i ticket dell'utente in tutte le categorie
  2. Ottiene tutti i ticket dell'utente nella categoria specificata
  3. Ottiene il conteggio dei ticket dell'utente in tutte le categorie
  4. Ottiene il conteggio dei ticket dell'utente nella categoria specificata
risposta data 15.06.2017 - 05:47
fonte

Leggi altre domande sui tag