Я работаю над приложением, чтобы выставить некоторые конечные точки REST, используя scala. Из моего файла маршрутов я перенаправил все вызовы на / api в другой класс ApiRouter , -> /api api.ApiRouter
. В этом классе (ApiRouter) у меня есть два маршрута, которые вызывают у меня проблемы:
- Отправить код авторизации:
case GET(p"/$phone" ? q_o"debug=${bool(debug) }") =>
customerApi.sendAuthCode(phone, debug)
2 Получить историю платежей
case GET(
p/payments" ? q_o"filterBy=${filter(by) }" & q_o"filterValue=$value" & q_o"page=${int(
page
) }" & q_o"size=${int(size) }"
) =>
customerApi.paymentHistory(by, value, page, size)
После компиляции, когда я пытаюсь получить доступ к {myhost} / api / {phone} , выполняется метод отправки кода авторизации. Когда я пытаюсь получить доступ к {myhost} / api / payment? {Params} , снова выполняется метод отправки кода авторизации.
Я пытался изменить порядок их декларации, но я все еще заканчивается тем же результатом.
Буду признателен за любую помощь, которую я могу получить по этому вопросу Спасибо.
Ниже приведено текущее состояние моего кода:
class CustomerApiRouter @Inject()(
customerApi: CustomerApiController,
oauthController: OAuth2Controller
) extends SimpleRouter {
override def routes: Routes = {
case POST(p"/access_token") =>
oauthController.customerToken()
case GET(
p"/accounts" ? q_o"page=${int(page) }" & q_o"size=${int(size) }"
) =>
customerApi.listAccounts(page, size)
case GET(p"/$phone" ? q_o"debug=${bool(debug) }") =>
customerApi.sendAuthCode(phone, debug)
case GET(
p"/payments" ? q_o"filterBy=${filter(by) }" & q_o"filterValue=$value" & q_o"page=${int(
page
) }" & q_o"size=${int(size) }"
) =>
customerApi.paymentHistory(by, value, page, size)
case POST(p"/payments/$merchantId/accounts/$accountId") =>
customerApi.pay(merchantId, accountId)
case POST(p"/payments/$reference/verify") =>
customerApi.verify(reference)
}
}