UUID 및 슬러그 열을 사용하여 Laravel REST API에서 공개 및 내부 식별자를 관리하는 가장 좋은 방법
P粉360266095
P粉360266095 2024-03-28 13:41:30
0
1
357

클래식 자동 증가 ID와 회사 이름이 포함된 테이블이 있습니다. 비즈니스 ID가 클라이언트에 노출되는 것을 방지하기 위해 UUID를 사용하고 싶습니다. 여태까지는 그런대로 잘됐다. 유일한 문제는 URL에서 호출할 경우 "api/businesses/10b940f2-5f8c-42ac-9c35-b6d0de45995b" 대신 "api/businesses/my-business"와 같이 보다 사용자 친화적인 형식을 사용하는 것이 더 좋다는 것입니다. ". 그렇다면 데이터 업데이트에 UUID를 사용하는 동안 GET 요청에 대한 테이블에 "슬러그" 열을 추가하면 이것이 모범 사례로 간주됩니까?

제 경우에는 견적 테이블에 레코드를 생성해야 하므로 패치는 다음과 같습니다.

PATCH /api/quotes/4dc93692-0ad9-4131-94fe-b4afec88d037

{
    "business_uuid": "10b940f2-5f8c-42ac-9c35-b6d0de45995b",
    "object": "My quote object",
    "another_column": "Hello",
}

P粉360266095
P粉360266095

모든 응답(1)
P粉262073176

데이터베이스 테이블 구조에 iduuidslug가 포함된 경우 다음을 고려하세요.

  1. 백엔드 내부에서만 사용됩니다 id.
  2. REST API(CRUD)를 사용하여 리소스 작업을 할 때 uuid를 사용하세요.
  3. 사람이 데이터를 더 쉽게 읽고/인식/이해할 수 있는 리소스를 처리하려면 slug를 사용하세요. slug는 고유해야 한다는 점을 잊지 마세요. 하지만 서비스 간 기본 CRUD 작업의 경우 계속 slug 。不要忘记 slug 必须是唯一的。但对于服务之间的基本 CRUD 操作,我仍然建议继续使用 uuid를 사용하는 것이 좋습니다.

또한 API용 데이터를 준비하는 데 도움이 되는 Laravel Resources의 Laravel 문서와 데이터 필드 중 하나를 처리하는 slugify 도우미 함수를 확인하는 것이 좋습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿