2012-12-02 2 views
12

Node.js 및 Express.js를 사용하여 앱을 작성하고 있습니다. 앱에 (작은) REST API가 있고 웹 프런트 엔드가 있습니다. 나는 MongoDb를 사용한다.POST 데이터 Express.js의 JSON 유효성 검사

API의 경우 일부 끝점에 POST 데이터를 기록한 다음 처리 또는 기타 처리를 수행하고 데이터베이스에 덤프합니다. 그러나, 나는 시행하고 싶은 데이터베이스 스키마를 가지고있다. 내 POST 데이터에서 특정 구조를 적용하기위한 내 옵션/모범 사례는 무엇입니까? 그래서 특정 필드가 있고 특정 유형이 있다는 것을 알고 있습니다.

미들웨어 수준에서 수행 할 수 있다면 좋겠지 만 필요하지는 않습니다. 사람들은 보통 유효성 검사/스키마 적용을 위해 무엇을합니까?

답변

10

node-validator입니다. 이

var check = require('validator').check; 

//Validate 
check('[email protected]').len(6, 64).isEmail();  //Methods are chainable 
check('abc').isInt();        //Throws 'Invalid integer' 

같은 독립 모듈로 사용할 수 있습니다 또는 당신은 미들웨어로 노드 검증의 상단에 내장되어 express-validator를 사용할 수 있습니다.

+2

노드 유효성 검사기와 표현 유효성 검사기는 모두 좋은 옵션입니다 ... 그러나 현재 버전의 express-validator는 중첩 된 데이터를 암호화 할 수있는 기능이 없습니다. –

+3

JSON 유효성 검사도 수행되지 않습니다. – Eric

+0

또는 http://indicative.adonisjs.com/을 시도해보십시오. 벤치 마크 결과 JOI보다 빠릅니다. –

1

최근의 다양한 JSON 스키마 검사기 중 benchmark입니다.

또한 모범 사례를 보려면 JSON-schema을 확인해보십시오.이 방법은 JSON 객체를 정의하는 표준 방법을 정의하려고 시도합니다.