2. 첫 번째 엔드포인트

2-3. 첫 번째 API 엔드포인트

이 섹션에서는 첫 번째 API 엔드포인트를 생성하는 과정을 다룹니다.

엔드포인트는 예상대로 작동하며, Swagger UI를 통해 API를 쉽게 테스트하고 문서화할 수 있습니다.

  1. 모델 생성:
    • Models 폴더를 생성하고, 이 폴더 내에 Plant 모델을 추가합니다.
    • Plant 모델에는 두 개의 속성이 포함됩니다: ID(식물의 ID)와 Name(식물의 이름).
  2. API 컨트롤러 업데이트:
    • PlantsAPIController 내에 GetPlants 메서드를 생성하여 Plant 객체의 리스트를 반환합니다.반환 타입은 IEnumerable<Plant>이며, 두 개의 식물 객체(여인초와 뱅갈고무나무)를 포함하는 새 리스트를 반환합니다.
  3. 라우팅 설정:
    • API 컨트롤러에 Route 어트리뷰트를 추가하여 엔드포인트의 라우트를 정의합니다. 일반적으로 api/[컨트롤러명] 형식을 사용합니다.
  4. HTTP GET 어트리뷰트 추가:
    • 엔드포인트가 HTTP GET 요청을 처리하도록 HttpGet 어트리뷰트를 GetPlants 메서드에 추가합니다.
  5. Swagger를 통한 테스트:
    • Swagger UI를 사용하여 생성된 GET 엔드포인트를 테스트합니다. ‘Try it out’ 버튼을 클릭하고 ‘Execute’를 누르면, 정의된 두 개의 식물 객체가 반환됩니다.
  6. 결과 확인:
    • 엔드포인트는 예상대로 작동하며, Swagger UI를 통해 API를 쉽게 테스트하고 문서화할 수 있습니다

// Plants 모델
public class Plant
{
    public int Id { get; set; }
    public string Name { get; set; }
}
​
// PlantsAPIController 내 GetPlants 메서드
[HttpGet]
public IEnumerable<Plant> GetPlants()
{
    return new List<Plant>
    {
        new Plant { Id = 1, Name = "여인초" },
        new Plant { Id = 2, Name = "뱅갈고무나무" }
    };
}
라우팅 오류 발생

라우팅 오류 발생 아래 코드 추가


// PlantsAPIController 컨트롤러에 라우팅 어트리뷰 추가해서 라우팅 오류 해결 
[Route("api/PlantAPI")]
[ApiController]
public class PlantsAPIController : ControllerBase
{
    //HttpGet, HttpPost... 
}

이 코드는 Plant 모델과 PlantsAPIControllerGetPlants 메서드의 기본 구조를 보여줍니다. HttpGet 어트리뷰트를 사용하여 HTTP GET 요청을 처리하고, Swagger를 통해 API 엔드포인트를 쉽게 테스트할 수 있습니다.

첫 번째 API 엔드포인트(.Net Web-API)

api/plantAPI

프로젝트 리소스 링크

https://github.com/kimdaewoong2022/MorePlants_WebAPI/tree/48620713c7fa1f087b8ce283b2a7ab4022f1253a

그리고 만약, 첫 .Net Core MVC 실행시 다음과 같은 오류가 발생하면…

연결이 비공개로 설정되어 있지 않습니다.

다음 링크로 이동해서 크롬 브라우저 상태를 수정해주길 바란다.