2. 첫 번째 엔드포인트

2-5. 개별 Plant 가져오기

이 섹션에서는 ID를 기반으로 단일 Plant 정보를 조회하는 API 엔드포인트를 구현하는 방법을 다룹니다.

  1. 개별 Plant 조회 엔드포인트 추가:
    • 기존의 모든 Plant를 반환하는 GetPlants 메서드와 별개로, 특정 ID를 가진 Plant만을 반환하는 GetPlant 메서드를 추가합니다.GetPlant 메서드는 매개변수로 ID를 받아, 해당 ID와 일치하는 Plant를 반환합니다. 이때 LINQ의 FirstOrDefault 메서드를 사용하여 조건에 맞는 첫 번째 Plant를 찾거나, 없으면 null을 반환합니다.
  2. 라우트 설정:
    • 두 개의 GET 메서드(GetPlantsGetPlant)가 있을 때, Swagger 등의 도구에서 라우트 충돌을 방지하기 위해 GetPlant 메서드에 [HttpGet("{id}")] 어트리뷰트를 추가하여 ID를 기대하는 것을 명시합니다.
  3. 테스트 및 검증:
    • 애플리케이션을 실행하고 Swagger UI를 통해 GetPlant 엔드포인트를 테스트합니다. ID를 매개변수로 제공하여 특정 Plant 정보를 성공적으로 조회할 수 있습니다.
  4. 소스 코드
    • 애플리케이션을 실행하고 Swagger UI를 통해 GetPlant 엔드포인트를 테스트합니다. ID를 매개변수로 제공하여 특정 Plant 정보를 성공적으로 조회할 수 있습니다.
[HttpGet]
public IEnumerable<PlantDTO> GetPlants()
{
    return PlantStore.PlantList;
}
​
[HttpGet("{id:int}")]
public PlantDTO GetPlant(int id)
{
    return PlantStore.PlantList.FirstOrDefault(v => v.ID == id);
}

이 방법을 통해 API 사용자는 필요에 따라 전체 Plant 목록 또는 특정 Plant 정보를 조회할 수 있게 됩니다. 이는 API의 유연성을 높이고, 사용자의 다양한 요구 사항을 충족시킬 수 있는 중요한 기능입니다.

개별 Plant 가져오기 Swegger

프로젝트 리소스

https://github.com/kimdaewoong2022/MorePlants_WebAPI/tree/853d0bfa7123afb79296f536017ae75801f0238b