Mam tabelę FileAccess
, która przechowuje uprawnienia do korzystania z plików przyznawane użytkownikom (ma kolumny FileId, UserId, AcessLevel). Który kontroler powinien odpowiadać za operacje CRUDowe na tej tabeli? FilesController
czy FileAccessesController
? I która ścieżka wygląda lepiej: fileAccesses/create
czy files/{fileId}/grantAccessToUser
?
0
2
IMO lepiej patrzeć na aplikację z punktu widzenia operacji biznesowej, jaką chcesz wykonać niż CRUDa. "Nadanie dostępu do pliku" jaśniej wyraża intencję niż "dodanie wpisu do tabeli dostępu do pliku". Tabele w bazie i CRUDy na nich są w takiej sytuacji szczegółem implementacji. A już w implementacji warto rozdzielić dostęp do plików i zarządzanie uprawnieniami do osobnych serwisów.
0
Zadna, poczytaj o REST i zamodeluj to porzadnie, chyba ze wlasnie planowales robic "RPC over HTTP"
0
Czyli jeśli chcę mieć API RESTowe, to powinienem mieć endpoint POST api/files/accesses
? A jaki byłby odpowiednik endpointu GET api/users/checkUserNameAvailability
w REST?
2
- OK
- Robisz
GET na api/users/<username>
. Jesli taki uzytkownik istnieje, znaczy dostajesz odpowiedz, to znaczy ze username jest zajety. Jesli dostajesz 404, znaczy ze wolny. (zakladamy ze username jest unikalny i moze pelnic role identyfikatora)