저는 플레이 프레임 워크가있는 스칼라 애플리케이션을 개발하고 있습니다. 외부 서버에서 오는 모든 요청을 필터링하는 필터를 만들었지 만 지금은 어떻게 실행해야합니까? 이일 이후 수요 필터링, 나는 그 (30)가 잘요청시 스칼라 재생 프레임 워크를 실행하는 방법
GET /api/v1/:locale/:uuid core.controllers.MyClass.myAction1(locale: String)
GET /api/v1/:locale/:uuid/MyRoute core.controllers.MyClass.myAction2(locale: String)
GET /api/v1/:locale/:uuid/Foo core.controllers.MyClass.myAction3(locale: String)
GET /api/v1/:locale/orders/:orderId core.controllers.MyClass.myAction4(locale: String)
같은 요청은, 그 루트는 루트 파일에 배치하는 동안 내가 요청 경로 템플릿을 읽을 수있는 방법, 특정 필터를 실행하는 데 필요한 80 API를 가지고 , 필터에 나는 경로가 : uuid가이거나 : orderId가이면 날씨를 확인해야합니다. 왜냐하면 특정 필터를 실행하기 위해서입니다. 왜냐하면 b 그들의 id의 oth, 내가 Uuid로 그들을 얻는 것은 내가 요청을 기대할 수 없기 때문에, 나는 경로 템플릿을 읽을 수 있을까?
나는 이것이 가장 좋은 방법은, 내가 URL 템플릿 –
음에 대한 관심, 왜 url 변수이 /API/V1과 같은 정규 표현식을 표시 메이크업으로 많은 필터를 만들 수 있습니다 생각/$ locale <[^/]+>/ 여기에 무슨 일이 일어나는지 말해 주시겠습니까 –
라우터 구현을 생성하기 전에 라우팅 파일이 해석되고 해석됩니다. 라우팅 파일에서 정규 표현식을 사용할 수 있습니다 : https://www.playframework.com/documentation/2.6.x/ScalaRouting#Dynamic-parts-with-custom-regular-expressions '/ api/v1/: 로케일 /'정규 표현식을 사용하도록 다시 작성하므로 프레임 워크에서 직접 사용할 수 있습니다. – vdebergue