ASP. NET Core 웹 API 최소 화 프로젝트

3665 단어 ASP
ASP. NET Core 의 기본 ASP. NET Core 템 플 릿 에는 웹 API 템 플 릿 이 있어 웹 API 프로젝트 를 만 들 수 있 습 니 다.
때로는 하나의 API 만 만 만 들 고 Razor, 현지 화 또는 XML 직렬 화 에 관심 을 가 질 필요 가 없다.쓸모없는 NuGet 패키지 와 코드 를 삭제 함으로써 API 를 향상 시 킬 수 있 습 니 다. 로 딩 시간 을 줄 이 고 패키지 크기 를 줄 입 니 다.
 
새 항목
VS 2017 에서 miniwebapi 라 는 이름 의 ASP. NET Core 프로그램 (. NET Core) 항목 을 새로 만 듭 니 다.확인 후 웹 API 템 플 릿 을 선택 하고 '인증 하지 않 음' 으로 '인증 하지 않 음' 을 설정 합 니 다.
그리고 프로젝트 를 만 들 었 는 지 확인 하 십시오. 기본 프로젝트 의 csproj 파일 내용 은 다음 과 같 습 니 다.


  
    netcoreapp1.1
  

  
    
  
  
    
    
    
    
  
  
    
  

 
NuGet 패키지 삭제
우선 삭제 Microsoft.AspNetCore.Mvc。
실은 Microsoft. VisualStudio. Web. Code Generation. Tools 및 삭제 도 가능 Microsoft.ApplicationInsights.AspNetCore 。
이어서 첨가 하 다
  • Microsoft.AspNetCore.Mvc.Core
  • Microsoft.AspNetCore.Mvc.Formatters.Json

  • 최종 miniwebapi. csproj 파일 은 다음 과 같 습 니 다.
    
    
      
        netcoreapp1.1
      
    
      
        
      
      
        
        
        
        
      

     사실 Microsoft. Extensions. Logging. Debug 필요 하지 않 아 도 삭제 할 수 있 습 니 다. 여 기 는 보류 되 어 있 습 니 다.
    서비스 설정
    Microsoft. ApplicationInsights. AspNetCore 를 제외 한 경우 Program. cs 에서 제거 해 야 합 니 다. UseApplicationInsights ()
    이 어 Startup. cs 파일 을 열 고 Configure Services 방법 에서 제거 합 니 다. services.AddMvc();
    그리고 다음 과 같이 바 꿉 니 다.
    services.AddMvcCore().AddJsonFormatters();
     
    다음 에 기본 Values Controller. cs 를 열 면 다음 과 같이 변 경 됩 니 다.
        [Route("api/[controller]")]    public class ValuesController
        {        // GET api/values        [HttpGet]        public IEnumerable Get()
            {            return new string[] { "linezero", "linezero's blog" };
            }        // GET api/values/5
            [HttpGet("{id}")]        public string Get(int id)
            {            return "linezero"+id;
            }        // POST api/values        [HttpPost]        public void Post([FromBody]string value)
            {
            }        // PUT api/values/5
            [HttpPut("{id}")]        public void Put(int id, [FromBody]string value)
            {
            }        // DELETE api/values/5
            [HttpDelete("{id}")]        public void Delete(int id)
            {
            }
        }

    포 인 트 는 기본 적 인 계승 을 없 애 는 것 이다. Controller。
    크로스 필드, 데이터 검증 과 같은 다른 요구 사항 이 있 으 면 해당 하 는 NuGet 패 키 지 를 추가 할 수 있 습 니 다.
    Microsoft. AspNetCore. Mvc. corps 크로스 도 메 인 에 대응 하 는 services. AddMvcCore (). AddJSonFormatters (). AddCors ();
    Microsoft. AspNetCore. Mvc. Data Annotations 데이터 검증 속성.AddDataAnnotations();
     
    테스트
    디 버 깅 기능 을 사용 하 는 프로그램 을 실행 합 니 다. VS 2017 은 자동 으로 브 라 우 저 를 열 고 해당 하 는 api / values 에 접근 합 니 다. 다음 과 같이 표 시 됩 니 다.

    좋은 웹페이지 즐겨찾기