1.불필요한 파일 제거:
프로젝트를 새로 시작하기 위해, 기본으로 제공된 WeatherForecast
클래스 파일과 관련 컨트롤러를 삭제합니다.
2.필수 파일 유지:
- Controllers 폴더: API 엔드포인트를 처리할 컨트롤러를 포함합니다.
- appsettings.json: 애플리케이션 설정을 저장합니다.
- Program.cs: 애플리케이션의 진입점을 정의하고, 애플리케이션을 구성합니다.
3. 첫 번째 API 컨트롤러인 PlantAPIController
클래스를 생성
- 컨트롤러 폴더 확인: 프로젝트 내에 컨트롤러 폴더가 보이지 않을 경우, ‘모든 파일 표시’ 옵션을 사용하여 폴더를 확인할 수 있습니다. 폴더가 비어 있기 때문에 기본적으로는 보이지 않습니다.
- API 컨트롤러 추가:
- 컨트롤러 폴더에 우클릭하여 ‘클래스 추가’를 선택합니다. MVC 컨트롤러가 아닌, 기본 API 컨트롤러를 원합니다.
- 클래스 파일을 추가하고, 이를 API 컨트롤러로 만들기 위해 클래스 이름에 ‘Controller’를 포함시킵니다. 예:
PlantAPIController
.
- 컨트롤러 클래스 설정:
- 생성된
PlantAPIController
클래스는ControllerBase
클래스를 상속받아야 합니다. 이를 통해 .NET 애플리케이션에서 컨트롤러와 관련된 일반적인 메서드를 사용할 수 있습니다. APIController
어트리뷰트를 클래스에 추가하여 이 클래스가 API 컨트롤러임을 명시합니다.
- 생성된
- 주요 포인트:
ControllerBase
상속: API 컨트롤러의 기능을 활성화합니다.APIController
어트리뷰트: 클래스가 API 컨트롤러로 동작하도록 설정합니다.- MVC 뷰 지원은 포함하지 않음: 현재 API 애플리케이션에서는 MVC 뷰를 사용하지 않으므로, 관련 지원을 추가하지 않습니다.
현재 컨트롤러는 아직 엔드포인트를 포함하고 있지 않지만, API 컨트롤러로서의 기본 구조를 갖추고 있습니다. 다음 섹션에서 이 컨트롤러에 엔드포인트를 추가하는 방법을 다룰 예정입니다.
using Microsoft.AspNetCore.Mvc;
namespace MorePlants_PlantsAPI.Controllers
{
[ApiController]
public class PlantAPIController : ControllerBase
{
// 여기에 엔드포인트 메서드를 추가할 수 있습니다.
}
}
위 코드는 PlantAPIController
클래스의 기본 구조를 보여줍니다. ControllerBase
를 상속받고, APIController
어트리뷰트를 사용하여 API 컨트롤러로 설정했습니다
프로젝트 리소스 링크
https://github.com/kimdaewoong2022/MorePlants_WebAPI/tree/5be8a24c9faad3ea8d771dc690d4cee8e1826f89