다음을 통해 공유


빠른 시작: MySQL에서 데이터 API 작성기 사용

이 빠른 시작에서는 로컬 MySQL 데이터베이스를 대상으로 하는 데이터 API 작성기 구성 파일 집합을 빌드합니다.

필수 조건

팁 (조언)

또는 모든 개발자 필수 구성 요소가 이미 설치된 GitHub Codespaces에서 이 빠른 시작을 엽니다. 사용자 고유의 Azure 구독을 가져오기만 하면 됩니다. GitHub 계정에는 무료로 스토리지 및 핵심 시간에 대한 권한이 포함됩니다. 자세한 내용은 GitHub 계정에 포함된 스토리지 및 핵심 시간을 참조하세요.

GitHub Codespaces에서 열기

Data API Builder CLI 설치

Microsoft.DataApiBuilder NuGet에서 패키지를 .NET 도구로 설치합니다.

  1. 최신 버전 dotnet tool installMicrosoft.DataApiBuilder 인수를 사용하여 설치하려면 --global을 사용하십시오.

    dotnet tool install --global Microsoft.DataApiBuilder
    

    비고

    패키지가 이미 설치된 경우에는 dotnet tool update을 사용하여 대신 패키지를 업데이트하십시오.

    dotnet tool update --global Microsoft.DataApiBuilder
    
  2. dotnet tool list 인수를 사용하여 도구가 --global 설치되어 있는지 확인합니다.

    dotnet tool list --global
    

로컬 데이터베이스 구성

먼저 로컬 데이터베이스를 구성하고 실행합니다. 그런 다음 샘플 데이터를 사용하여 새 컨테이너를 시드할 수 있습니다.

  1. Docker Hub에서 컨테이너 이미지의 mysql:8 최신 복사본을 가져옵니다.

    docker pull mysql:8
    
  2. 암호를 설정하고 포트 3306을 게시하여 Docker 컨테이너를 시작합니다. 사용자 지정 암호로 대체 <your-password> 합니다.

    docker run \
        --publish 3306:3306 \
        --env "MYSQL_ROOT_PASSWORD=<your-password>" \
        --detach \
        mysql:8
    
  3. 원하는 데이터 관리 환경을 사용하여 로컬 데이터베이스에 연결합니다. 예제에는 MySQL WorkbenchVisual Studio Code용 MySQL 셸이 포함되지만 제한되지는 않습니다.

    팁 (조언)

    Docker Linux 컨테이너 이미지에 기본 네트워킹을 사용하는 경우 연결 문자열이 될 수 있습니다 Server=localhost;Port=3306;Uid=root;Pwd=<your-password>;. <your-password>을 미리 설정한 암호로 바꾸십시오.

  4. bookshelf 데이터베이스를 만들고 나머지 쿼리에 데이터베이스를 사용합니다.

    CREATE DATABASE IF NOT EXISTS bookshelf;
    
    USE bookshelf;
    
  5. dbo.authors 테이블을 만들고 기본 데이터를 사용하여 테이블을 시드합니다.

    CREATE TABLE IF NOT EXISTS authors
    (
        id INT NOT NULL PRIMARY KEY,
        first_name VARCHAR(100) NOT NULL,
        middle_name VARCHAR(100),
        last_name VARCHAR(100) NOT NULL
    );
    
    INSERT INTO authors VALUES
        (01, 'Henry', NULL, 'Ross'),
        (02, 'Jacob', 'A.', 'Hancock'),
        (03, 'Sydney', NULL, 'Mattos'),
        (04, 'Jordan', NULL, 'Mitchell'),
        (05, 'Victoria', NULL, 'Burke'),
        (06, 'Vance', NULL, 'DeLeon'),
        (07, 'Reed', NULL, 'Flores'),
        (08, 'Felix', NULL, 'Henderson'),
        (09, 'Avery', NULL, 'Howard'),
        (10, 'Violet', NULL, 'Martinez');
    

구성 파일 만들기

DAB CLI를 사용하여 기준 구성 파일을 만듭니다. 그런 다음, 현재 자격 증명을 사용하여 개발 구성 파일을 추가합니다.

  1. 를 사용하여 일반적인 구성 파일을 만듭니다 dab init. 첫 번째 --connection-string 섹션에서 데이터베이스 연결 문자열을 사용하여 인수를 추가합니다. 이 가이드의 앞부분에서 설정한 암호로 <your-password>을 바꾸십시오. 또한 연결 문자열에 Database=bookshelf 값을 추가합니다.

    dab init --database-type "mysql" --host-mode "Development" --connection-string "Server=localhost;Port=3306;Database=bookshelf;Uid=root;Pwd=<your-password>;"
    
  2. 를 사용하여 Author 엔터티를 dab add추가합니다.

    dab add Author --source "authors" --permissions "anonymous:*"
    
  3. 현재 dab-config.json 구성 파일을 관찰합니다. 파일에는 단일 엔터티, REST API 엔드포인트 및 GraphQL 엔드포인트를 사용하는 API의 기준 구현이 포함되어야 합니다.

로컬 데이터베이스를 사용하여 API 테스트

이제 데이터 API 작성기 도구를 시작하여 개발 중에 구성 파일이 병합되는지 확인합니다.

  1. dab start를 사용하여 도구를 실행하고 엔터티에 대한 API 엔드포인트를 만드십시오.

    dab start
    
  2. 도구의 출력에는 실행 중인 API로 이동하는 데 사용할 주소가 포함되어야 합니다.

          Successfully completed runtime initialization.
    info: Microsoft.Hosting.Lifetime[14]
          Now listening on: <http://localhost:5000>
    info: Microsoft.Hosting.Lifetime[0]
    

    팁 (조언)

    이 예제에서 애플리케이션은 포트 localhost에서 실행됩니다. 실행 중인 애플리케이션의 주소와 포트가 다를 수 있습니다.

  3. 먼저 GET 요청을 실행하여 수동으로 API를 시도합니다 /api/Author.

    팁 (조언)

    이 예제에서 URL은 다음과 같습니다 https://localhost:5000/api/Author. 웹 브라우저를 사용하여 이 URL로 이동할 수 있습니다.

  4. 다음으로 , Swagger 설명서 페이지 /swagger로 이동합니다.

    팁 (조언)

    이 예제에서 URL은 다음과 같습니다 https://localhost:5000/swagger. 웹 브라우저를 사용하여 이 URL로 이동할 수도 있습니다.

다음 단계

REST 엔드포인트