2019년 10월 30일

매일 열심히 일하지 않는 어제 반복하고 있는가? 자신의 관성을 극복 할 좋은,하지만 어려운 예상. 내일 너무 큰, 매우 중대하다.

 

@Post 방법

수입 {컨트롤러, 가져 오기, 필수, 쿼리, 헤더, 파람, 포스트, 바디} 에서  ' @ nestjs / 일반 ' ; 

@Controller ( ' 게시물 ' ) 
수출 클래스 가 PostsController { 
  @Get () 
  지수 (@Headers () 헤더) { 
    을 console.log (헤더) 
    리턴 [{제목 : ' 안녕하세요 ~ ' }]; 
  } 

  @Get ( ' : ID ' ) 
  쇼 (@Param () PARAMS ) {
     반환 { 
      제목 :`포스트 $ { PARAMS .ID}` 
    } 
  }
 
  @Post ()
  저장소 (@Body () 체) { 
    CONSOLE.LOG (본체) 
  } 
}

DTO, 데이터는 네트워크를 통해 전송

post.dto.ts

수출 클래스 CreatePostDto {
   읽기 전용 제목 : 문자열 ; 
}
  @Post () 
  저장 (@Body () 게시물 : CreatePostDto) { 
    을 console.log (post.title) 
  }

02.NEST.JS 애플리케이션 프레임 워크 : 코어 재 (1)

최신 버전의 둥지로 업그레이드 강제

둥지 업데이트 --tag 최신 --force

미들웨어!

미들웨어는 데모를 생성

둥지는 미들웨어 데모 코어 / 미들웨어를 생성
수입 {주사, NestMiddleware} 에서  ' @ nestjs / 일반 ' ; 

@Injectable () 
수출 클래스 DemoMiddleware는 NestMiddleware {구현 
  (: 어떤, 고해상도 : 어떤, 다음 : REQ () 사용을 => 무효 ) { 
    다음 (); 
  } 
}

 

서비스를 만들고,이를 사용하는 컨트롤러에 주입 할 수있다.

서비스 만들기

둥지는 서비스 데모 게시물 / 제공을 생성
수입 {주 사용} 에서  ' @ nestjs / 일반 ' ; 

@Injectable () 
수출 클래스 DemoService {}

app.module.ts에서 자동으로 DemoService 서비스를 추가했다.

수입 {모듈} 에서  ' @ nestjs / 일반 ' ; 
수입 {AppController가} 에서  ' ./app.controller ' ; 
수입 {AppService} 에서  ' ./app.service ' ; 
수입 {가 PostsController} 에서  ' ./posts/posts.controller ' ; 
수입 {DemoService} 에서  ' ./posts/providers/demo/demo.service ' ; 

@Module ({ 
  수입 : [], 
  컨트롤러 : [AppController가,가 PostsController, 
  제공 : [AppService, DemoService], 
}) 
수출클래스 AppModule {}

인터페이스 만들기

둥지 생성 인터페이스 후 게시물 / 인터페이스

재산의 유형의 정의에 포함되는 인터페이스, 그것은 모델 클래스입니까?

 

 

 

수출 인터페이스 포스트 { 
  제목 : 문자열 
}

문자열을 소문자입니다.

 

 

 서비스에서, 그것에 마우스, 수리를 선택합니다.

수입 {주 사용} 에서  ' @ nestjs / 일반 ' ; 
수입 {포스트} 에서  ' SRC / 글 / 인터페이스 / post.interface ' ; 

@Injectable () 
수출 클래스 DemoService {
   개인  읽기 전용의 게시물 : 포스트 [] = []; 

  findall은은 () : 포스트 [{ 
    반환  .posts 단계; 
  } 

  (게시물 : 포스트)를 만들 { 
    .posts.push (게시물); 
  } 
}

서비스, ​​인터페이스, 구현 모델에 대한 참조. 모델과에 서비스를 추가하는 방법. 메소드의 반환 형식, 모델, 또는 인터페이스입니다 수 있습니다. 푸시의 인터페이스의 배열이며, 새로운 포스트를 작성.

제어기에서, 상기 방에, 종속 역할을한다. 컨트롤러를 구성함으로써 달성 주입 방법.

수입 {컨트롤러, 가져 오기, 필수, 쿼리, 헤더, 파람, 포스트, 바디} 에서  ' @ nestjs / 일반 ' ; 
수입 {CreatePostDto} 에서  ' ./post.dto ' ; 
수입 {DemoService} 에서  ' ./providers/demo/demo.service ' ; 

@Controller ( ' 게시물 ' ) 
수출 클래스 가 PostsController {
   개인  읽기 전용 demoService; 
  생성자 (demoService : DemoService) { 
     .demoService = demoService; 
  } 

  @Get () 
  지수 () { 
    반환 .demoService.findAll (); 
  } 

  @Get ( ' : ID ' ) 
  쇼 (@Param () PARAMS ) {
     반환 { 
      제목 :`포스트 $ { PARAMS .ID}` 
    } 
  } 

  @Post () 
  저장 (@Body () 게시물 : CreatePostDto) { 
    . demoService.create (POST); 
  } 
}

도대체? ? ?

포스트에 정의 된 DTO 유형,

수출 클래스 CreatePostDto {
   읽기 전용 제목 : 문자열 ; 
}

포스트 인터페이스에 정의 된 인터페이스,

수출 인터페이스 포스트 { 
  제목 : 문자열 
}

서비스 인터페이스는 포스트에 사용되는

수입 {주 사용} 에서  ' @ nestjs / 일반 ' ; 
수입 {포스트} 에서  ' SRC / 글 / 인터페이스 / post.interface ' ; 

@Injectable () 
수출 클래스 DemoService {
   개인  읽기 전용의 게시물 : 포스트 [] = []; 

  findall은은 () : 포스트 [{ 
    반환  .posts 단계; 
  } 

  (게시물 : 포스트)를 만들 { 
    .posts.push (게시물); 
  } 
}

제어기 라우팅 방법 파라미터는 방법이 차이가 무엇 물론 사후 서비스에 사용 된 인터페이스 파라미터 인 서비스 방법에서 수행된다 타입 포스트 DTO 사용?

  @Post () 
  저장소 (@Body () POST : CreatePostDto) { 
    다음은이 .demoService.create (POST); 
  } 
 컨트롤러 매개 변수를 정의 DTO 클래스, 포스트, 읽기 전용

CreatePostDto 포스트 DTO 유형은 읽기 전용으로 정의된다. 포스트는 인터페이스 유형, 값이 변수하지 읽기 전용입니다 추가 할 수 있습니다.

  만들기 (POST : 포스트) {
     다음은이 .posts.push (POST); 
  } 
방법은 우편, 인터페이스 유형 매개 변수 서비스에 정의 된

 

 첫 번째 게시물은 데이터를 제출 한 후 모든 데이터는 방법을 얻을 수.

 

추천

출처www.cnblogs.com/andu/p/11764851.html