찾다

 >  Q&A  >  본문

UUID 및 슬러그 열을 사용하여 Laravel REST API에서 공개 및 내부 식별자를 관리하는 가장 좋은 방법

클래식 자동 증가 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粉360266095P粉360266095243일 전361

모든 응답(1)나는 대답할 것이다

  • P粉262073176

    P粉2620731762024-03-29 09:51:26

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

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

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

    회신하다
    0
  • 취소회신하다