2016-08-01 4 views
0

나는 그래서 엔드 포인트에 게시하고 감안할 때 :Apigility InputFilter 주입

POST http://foo.com/user/:user_id/articles

{ 
    "content": "some text" 
} 

나는 주입하는 방법을 찾기 위해 내가 고민하고있는 설정 내에서 검사기를 구성 할 때 다음에서 USER_ID을 시체에서 "내용"과 함께 경로. 따라서 Validator는 : user_id없이 "content"가 괜찮 으면 유효성 검사를 시도합니다.

경로 매개 변수에서 일반 신체 $ 데이터 페이로드와 함께 Validator (들)에 ID (또는 이상적으로 객체)를 주입하는 적절한 Apigility 방법은 무엇입니까?

많은 감사

+0

자신 만의 필터를 만들 수 있으며 원하는대로 처리 할 수 ​​있습니다. – yivi

답변

0

는 지금까지 내가 아는 한, apigility는 경로 매개 변수의 유효성을 확인 할 수있는 방법이 없습니다. 개인적으로 자원이나 컨트롤러에서 유효성을 검사합니다. 그런 식으로 좀 더 복잡한 유효성 검사를 할 수 있습니다.이 ID는 존재합니까?

오브젝트를 라우트 매개 변수로 사용하려면 오브젝트를 직렬화하여 매개 변수에 넣으십시오. 그러나 나는 이것에 대한 조언을 원할 것입니다. 당신에게 외부의 사람들이 당신에게 모든 물건을 제공한다고 믿을 수 있습니까? 사용자 정보가 필요한 경우 JWT 또는 유사한 기술을 조사 할 수 있습니다. JWT는 모든 데이터 (json 기반)를 포함하는 인증 토큰입니다.

이제 모든 신체 매개 변수의 유효성을 검사 할 수 있습니다. api 유틸리티에서는 필드로 이동하여 유효성을 검사 할 필드를 추가 할 수 있습니다 (또는 간단히하기 위해 필드가 모두 있어야 함). 그런 다음 여기에 필터와 유효성 검사기를 지정할 수 있습니다. zf2 응용 프로그램에서 구성한 사용자 정의 항목도 있습니다.

+0

불행히도, 위에서 언급 한 바와 같이, 유용성은 쿼리 문자열 매개 변수에 필터를 적용하지 않으므로 수동으로 처리해야합니다. – Andrew

+0

예, 정확하고 불행합니다. 필터를 확장하기가 어려울 수도 있습니다. – Erik

관련 문제