Swagger 문서, 사용자 정의 오류 처리, 장치 테스트, JSONPATCH 및 HTTPCLIENT 테스터가있는 간단한 웹 API 데모. 몇 가지 주제에 대한 튜토리얼 스타일의 YouTube 비디오가 있습니다.
이 GitHub 프로젝트의 목적은 추가 자습서 (YouTube 동영상 포함) 및 Swagger, Unit Testing, JSONPATCH, 사용자 정의 오류 처리 및 디스플레이, 클라이언트 테스터 등을 포함한 참조가 포함 된 간단한 CRUD 웹 API 응용 프로그램을 데모하는 것입니다.
Visual Studio 솔루션에는 Contosopizza (웹 API), Contosopizza.tests (단위 테스트) 및 Webapiclient (간단한 HTTPClient 콘솔 앱)의 세 가지 프로젝트가 있습니다.

Contosopizza Web API 프로젝트의 회원 요약과 함께 컨트롤러, 모델 및 서비스 클래스는 다음과 같습니다.

이것은 표준 CRUD (작성, 읽기, 업데이트 및 삭제) 패턴을 따르는 간단한 웹 API입니다. API 작업의 데모 이미지는 아래 카테고리별로 표시됩니다.






다음은 Web API JSONPATCH 데모를 보여주는 일부 화면 캡처입니다.


코드 참조는 다음과 같습니다.
[
{
"value": "ModifiedPizza",
"path": "/name",
"op": "replace"
}
]

웹 API 프로젝트에 JSONPATCH 설치, 설치 및 사용에 대해 자세히 알아 보려면 훌륭한 자습서 참조 비디오입니다.
JSONPATCH로 데이터 업데이트 | 웹 API에 대한 초보자 시리즈
ASP.NET Core Web API의 JSONPATCH
이 튜토리얼 및 데모 프로젝트는 Contoso Pizza Web API 프로젝트를위한 간단한 사용자 정의 오류 처리기를 설정, 구성 및 코딩하는 방법을 보여줍니다.
개발자는 코드에서 도대치되지 않은 오류를 계획해야합니다. Contoso Pizza Web API 프로젝트는이 작업을 수행하는 방법을 보여줍니다. 데모에서는 항상 도대치되지 않은 예외를 던지는 엔드 포인트가 생성됩니다. 이 프로젝트에는 표준 문제 모델 객체를 사용자에게 반환하기 전에 예외를 처리하고 기록하는 사용자 정의 오류 컨트롤러가 있습니다. 오류 컨트롤러는 개발 환경에서 실행되지 않을 때 커스텀 오류 컨트롤러로 경로로 진행하도록 프로그램 구성에 지정됩니다. 개발 환경은 디버그 런칭 프로파일 설정에 지정되며, 달리 지정되지 않는 한 기본값은 생산됩니다.
개발과 생산 사이의 오류 표시의 차이를 보려면 먼저 개발 모드에서 API를 실행하십시오. 항상 처리되지 않은 예외를 트리거하는 엔드 포인트를 테스트하십시오. Swagger UI에서는 응답 및 예외 세부 정보를 볼 수 있습니다. 브라우저 창에는 오류 결과에 대한 별도의 우아한 개발자보기가 있습니다.
생산 모드에서 API를 실행하려면 환경 변수를 제거하거나 수동으로 값을 생산으로 설정하십시오. Swagger UI는 생산 모드에서 실행되지 않으므로 URL로 API 엔드 포인트를 수동으로 테스트해야합니다. 사용자의 최종 결과는 식별자의 일반적인 오류입니다. 사용자는이 정보를 사용하여 문제 티켓을 만듭니다. 그런 다음 회사는 오류 식별자와 일치하는 상세한 문제 해결을 완료하여보다 자세한 내부 로깅과 일치 할 수 있습니다.

이 튜토리얼 및 데모 프로젝트는 개발자 WebAPI 프로젝트에 Swagger 문서를 추가, 설정, 구성 및 확인하는 방법을 보여줍니다. 최종 결과는이 코드 repo에 있습니다.
Swashbuckle과 Swagger는 웹 API에 대한 개발자 문서를 생성하는 데 사용되는 두 가지 인기있는 도구입니다. Swashbuckle은 Swagger UI를 통합하기 위해 ASP.NET Core Web API 프로젝트에 추가 할 수있는 패키지입니다. Swashbuckle.aspnetCore.swagger는 세 가지 주요 구성 요소가 있습니다. Swagger 객체 모델 및 SwaggerDocument 객체를 JSON 엔드 포인트로 노출시키는 미들웨어입니다. swashbuckle.aspnetcore.swaggergen은 경로, 컨트롤러 및 모델에서 swaggerdocument 객체를 직접 구축하는 Swagger 생성기입니다. Swagger UI 도구의 임베디드 버전 인 SwashBuckle.aspnetCore.waggerui. Swagger JSON을 해석하여 웹 API 기능을 설명하기위한 풍부하고 사용자 정의 가능한 경험을 구축합니다. Swagger (OpenApi)는 REST API를 설명하기위한 언어 공유 사양입니다. 이를 통해 컴퓨터와 인간은 소스 코드에 직접 액세스하지 않고 REST API의 기능을 이해할 수 있습니다. 주요 목표는 분리 된 서비스를 연결하는 데 필요한 작업의 양을 최소화하는 것입니다. ¹³⁴

이 튜토리얼 및 데모 프로젝트는 Contoso Pizza Web API 프로젝트의 간단한 HTTPClient를 설정, 구성 및 코딩하는 방법을 보여줍니다.
이 YouTube 비디오에서는 웹 API에 연결하여 테스트하는 간단한 콘솔 응용 프로그램 프로젝트를 만드는 방법을 배웁니다. 비디오에는 API의 프로젝트 실행 및 출력 결과의 짧은 데모가 포함되어 있습니다. 우리는 먼저 WebAPI를 로컬로 실행하여 Swagger UI를 보여 주면 OpenAPI 파일을 얻을 것입니다. Web API의 JSON 파일을 다운로드하여 프로젝트 디렉토리에 저장할 수 있습니다. 재생 목록 시리즈에는 Swagger 문서를 설정하고 구성하는 방법을 보여주는 또 다른 비디오가 있습니다. 다음 단계는 솔루션에 새로운 콘솔 응용 프로그램 프로젝트를 추가하는 것입니다. 이것은 웹 API에 연결하는 httpclient 응용 프로그램입니다. 다음으로, 이전에 저장했던 Swagger UI JSON 파일에서 OpenAPI 서비스 참조를 추가합니다. Visual Studio는 Contoso Pizza Web API와 상호 작용하는 데 필요한 클라이언트 코드 클래스를 자동 생성합니다. 자동 생성 된 코드 클래스를 살펴 보겠습니다. 생성자는 httpclient 객체 인스턴스와 실행중인 웹 API의 기본 URL이 모두 필요합니다. 웹 API를 로컬로 실행하면 디버그 시작 프로필에서이를 찾을 수 있습니다. 마지막으로, 우리는 프로젝트를 코딩하여 Contoso UI Pizza 웹 API에 대한 HTTPCLIENT 및 프록시 서비스 참조를 작성하고 일부 피자를 검색하려고 시도 할 수 있습니다. HTTPClient 콘솔 애플리케이션을 실행하기 전에 웹 API 애플리케이션이 이미 로컬로 실행되고 있는지 확인하십시오.

이 튜토리얼 및 데모 프로젝트는 WebAPI 프로젝트에 대한 간단한 단위 테스트를 설정, 구성 및 코드하는 방법을 보여줍니다.
이 비디오에서는 CRUD 컨트롤러 작업이있는 웹 API에 대한 간단한 단위 테스트를 작성하는 방법에 대해 논의합니다. 우리는 xunit 및 fakeiteasy 패키지를 사용하여 테스트를 작성할 것입니다. 테스트 프로젝트 설정 방법, 각 CRUD 작업에 대한 테스트 작성 방법 및 Xunit 및 FakeIteasy를 사용하여 모의 및 스터브를 만드는 방법을 포함하여 단위 테스트의 기본 사항을 다룹니다. 또한 테스트를 독립적으로 유지하고 읽기 쉽고 유지하기가 쉽도록 단위 테스트를 작성하기위한 모범 사례에 대해서도 논의 할 것입니다.

튜토리얼, 비디오 및 문서화가 참조되었지만이 프로젝트는 창의적으로 기술 전문 지식을 데모하고 Github의 집단 기술 지식에 기여하는 고유 한 코드와 스타일입니다. 코드 예제와 지식을 그린 일부 출처를 나열했습니다.
초보자 시리즈 : 웹 API
Microsoft Learn- ASP.NET 코어 컨트롤러로 웹 API 생성
출처 : Bing과의 대화, 11/10/2023 (1) Swashbuckle 및 ASP.Net Core를 시작하십시오. https : //learn.microsoft.com/en-us/asp .... (2) Swagger/Openapi를 사용한 ASP.NET Core Web API 문서. https : //learn.microsoft.com/en-us/asp .... (3) swagger, swashbuckle 및 swashbuckle ui는 무엇입니까? https : //stackoverflow.com/questions/4 .... (4) Swagger 문서를 사용하여 API의 개발자 경험을 향상시킵니다 .... https : //learn.microsoft.com/en-us/tra .... github에 대한 ASP.NET 코어 문서
ASP.NET Core Web API의 JSONPATCH