Как добавить конечную точку GET-запроса без параметров пути в эликсире - PullRequest
0 голосов
/ 18 октября 2019

У меня в роутере подписка get "/flow/reserve/", FlowController, :set_flow_reserved. когда посылается запрос на получение по этому пути, он соответствует «резерв» для id в path_params в conn. path_params: %{"id" => "reserve"}. и это дает ошибку Bad Request. как решить это?

1 Ответ

0 голосов
/ 18 октября 2019

Случай, который вы получаете, потому что порядок в вашем router.ex не соответствует порядку от action в контроллере.

Допустим, у вас есть маршруты в этом порядке:

  get "/flow/:id", FlowController, :edit
  get "/flow/reserve/", FlowController, :set_flow_reserved

поэтому в вашем контроллере должно быть в том же порядке.

  def edit(conn, params)
  def set_flow_reserved(conn, params)

Когда запрос сделан, вся информация запроса из request path (путь маршрута при отправке запроса) будет отправлена ​​наконтроллер, и он будет пытаться соответствовать action в контроллере. Так что в вашем случае это будет соответствовать :id до reverse

...