I have created an api application with phoenix 1.7.2 . I have to change the root path for the application because it is located behind a reverse proxy. To achieve this I made the following changes:
config.exs I change the Endpoint configuration by adding the path
config :my_app, MyAppWeb.Endpoint, url: [host: "localhost", path: "/v2"]
Then I configure static resources by changing the
plug Plug.Static, at: "/v2", from: :my_app, gzip: false, only: MyAppWeb.static_paths()
(Even though it is a api webservice, it has a static page if you access it in a browser)
Finally I added a
scope to the
scope "/v2" do scope "/", MyAppWeb do pipe_through :browser get "/", PageController, :home end scope "/api", MyAppWeb do pipe_through :api post "/stuff", StuffController, :post get "/stuff", StuffController, :get end end
This works but when I try to write tests for this configuration, I get lots of verified-routes warning. My issues is, when I use the route like
~p"/api/stuff" the tests execute successfully but produce warnings link
warning: no route path for MyApp.Router matches "/api/stuff". When I change the url to incorporate the different root
~p"/v2/api/stuff", the warning is gone but it doesn’t work anymore because the p sigil is resolved to
I’m sure I am just missing some configuration somewhere but I cant figure out where.
Thanks for your help!