2012-04-19 2 views
4

간단한 예를 들어, 사이트에서 방명록을 만들고 API를 통해 Create 및 Read 함수에 대한 외부 액세스를 제공한다고 가정 해 봅시다. 업데이트 및 삭제는 내부적으로 만 사용해야하므로 API에 포함되지 않습니다.API 디자인 : 내부 기능을 외부 기능과 분리 또는 결합 하시겠습니까?

더 나은 방법이 있습니까?

  • 전체 CRUD 기능을 API를 통해 사용할 수 있도록 설정하고 공개 액세스를 업데이트 및 삭제로 제한하십시오. 따라서 앱의 모든 내부 작업에 API를 사용하게됩니다.

  • 모든 내부 작업에 API없이 내부 CRUD 기능을 만든 다음 작성 및 읽기 전용 API를 별도로 만듭니다. 기본적으로 이것은 Create와 Read를 사용하는 두 가지 방법을 제공합니다. 하나는 API가 있고 다른 하나는 API가없는 것입니다.

  • 내부 작동을위한 API없이 내부 업데이트 및 삭제 기능을 만든 다음 작성 및 읽기 전용 API를 작성하십시오. 내부 작업에 Create 및 Read 함수를 사용해야하는 경우 API를 사용해야합니다.

일반적으로 가장 좋은 방법은 무엇입니까?

답변

3

첫 번째 옵션을 좋아합니다. 그것은 우려의 분리와 올바른 맥락에서 올바른 도구를 사용하는 분명한 예를 보여줍니다.

API에 대해 CRUD 방식을 사용하면 일관성과 무결성을 확보 할 수 있습니다. 보다 일관된 디자인, 코드 복제의 감소 및보다 쉬운 진화로 이어집니다. 보안 측면은 API를 지원하는 응용 프로그램의 내부 또는 외부에서 구현 될 수 있습니다. 외부 옵션의 경우 3 차원 파티 소프트웨어 또는 방화벽과 같은 하드웨어 솔루션을 사용할 수 있습니다 (예 :).

관련 문제