Express 처리 HTTP POST 방법 body 데이터

2278 단어 Node.js
참고: Express. js 에서 HTTP POST 바디 가 져 오기
 
POST 방법 으로 express 서버 에 전송 되 는 http Content - Type 은 보통 4 가지 입 니 다.
  • application / x - ww - form - urlencoded: 이러한 유형의 인 코딩 데이터 형식 은 url 의 조회 문자열 과 같 습 니 다. & 기호 가 구분자 가 되 는 키 쌍 입 니 다. 예 를 들 어 foo = bar & abc = 123 & stack = abuse 는 클 라 이언 트 가 Content - type 을 지정 하지 않 았 을 때의 기본 형식 입 니 다.
  • multipart / form - data: 이 형식 은 파일 을 업로드 하 는 데 사 용 됩 니 다. 첫 번 째 키 값 과 같은 문자열 이지 만 데이터 가 더욱 분산 되 고 더 많은 데 이 터 를 포함 합 니 다.
  • text / plain: 이런 유형 은 일반적으로 데이터 가 구조 화 되 지 않 은 순수한 텍스트 임 을 나타 내 고 일반적으로 사용 하지 않 는 다.
  • application/json:

  • body - parser 라 이브 러 리:
  • urlencoded () 방법: 응용 프로그램 / x - www - form - urlencoded 형식 처리
  • json () 방법: 응용 프로그램 / json 유형 처리
  • raw () 방법: http body 를 Buffer 형식 으로 처리 합 니 다. 일반적으로 구체 적 인 사용자 정의 Content - Type 에 사 용 됩 니 다. 기본 처 리 된 Content - Type 은 application / ocket - stream
  • 입 니 다.
  • text () 방법: text / plain 형식 데이터 처리
  • express 추출 POST 데이터:
    우선 body - parser 라 이브 러 리 를 도입 해 야 합 니 다.
    요청 방식 이 application / x - ww - form - urlencoded 일 때 지정 한 경로 에 들 어가 기 전에 body - parser 의 urlencoded 방법 으로 미들웨어 로 처리 한 다음 에 req. body 에서 대상 형식 데 이 터 를 얻 습 니 다. 여기 미들웨어 의 options 는 extended 를 true 로 지정 한 것 은 body - parser 가 qs 라 이브 러 리 를 사용 하여 데 이 터 를 처리 하 는 것 을 알 리 기 위해 서 입 니 다. 이렇게 하면 대상 이나 배열 형식의 데 이 터 를 얻 을 수 있 습 니 다.그렇지 않 으 면 url 문자열 의 대상 이나 배열 형식 을 분석 할 수 없습니다.
    app.use(bodyParser.urlencoded({ extended: true }));

    요청 방식 이 multipart / form - data 일 때 formidable, multer 등 전용 업로드 플러그 인 으로 처리 합 니 다.
    요청 방식 이 text / plain 일 때 지정 한 경로 에 들 어가 기 전에 body - parser 의 text 방법 으로 미들웨어 로 처리 한 다음 req. body 에서 대상 형식 데 이 터 를 얻 습 니 다.
    app.use(bodyParser.text());

    요청 방식 이 application / json 일 때 지정 한 경로 에 들 어가 기 전에 body - parser 의 json 방법 으로 미들웨어 로 처리 한 다음 에 req. body 에서 대상 형식 데 이 터 를 얻 습 니 다.
    app.use(bodyParser.json());

    이 미들웨어 들 중 가장 큰 것 은 그 중 하나 만 사용 할 수 있 는 것 이 아니 라 지정 한 경로 에 들 어가 기 전에 여러 미들웨어 로 데 이 터 를 처리 하여 프로그램 이 모든 데이터 형식 을 적당 하 게 처리 할 수 있 도록 하 는 것 이다.
    app.use(bodyParser.urlencoded({ extended: true }));
    app.use(bodyParser.json());
    app.use(bodyParser.raw());
    app.use(bodyParser.text());

    구체 적 인 테스트 는 다음 과 같다.

    좋은 웹페이지 즐겨찾기