【发布时间】:2019-04-23 18:09:50
【问题描述】:
嘿,我正在向我的后端发送一个如下所示的请求:
axios
.post(PAYMENT_SERVER_URL, {
description,
email: token.email,
source: token.id,
subscriptionID
}
并且在 api 中调用到达,但只有当我注释掉发布请求的内容时它才有效。 我尝试使用架构和变更集使其可用,但还没有成功。
use Ecto.Schema
import Ecto.Changeset
schema "objs" do
field(:description)
field(:email)
field(:source)
field(:subscriptionID)
end
def changeset(obj, params \\ %{}) do
obj
|> cast(params, [:descriprion, :email, :source, :subscriptionID])
end
def create(_conn, params) do
changeset(params)
//log it out
end
end
错误信息:
iex(1)> [info] OPTIONS /api/users
iex(1)> [debug] ** (Phoenix.Router.NoRouteError) no route found for OPTIONS /api/users (MyApiWeb.Router)
(myApi) lib/myApi_web/router.ex:1: MyApiWeb.Router.__match_route__/4
(myApi) lib/phoenix/router.ex:307: MyApiWeb.Router.call/2
(myApi) lib/myApi_web/endpoint.ex:1: MyApiWeb.Endpoint.plug_builder_call/2
(myApi) lib/plug/debugger.ex:122: MyApiWeb.Endpoint."call (overridable 3)"/2
(myApi) lib/myApi_web/endpoint.ex:1: MyApiWeb.Endpoint.call/2
(plug) lib/plug/adapters/cowboy/handler.ex:16: Plug.Adapters.Cowboy.Handler.upgrade/4
(cowboy) c:/jsproject/myApi/deps/cowboy/src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4
【问题讨论】:
-
看起来不像您将结构传递给该变更集。也许是问题?
-
@Bitwise 不能单独使用参数吗?我需要投吗?我还在帖子中添加了错误消息
-
看起来您仍然需要创建一个路由和一个控制器操作,也就是一个“端点”,以便请求命中。
-
是的,我也明白了,我将帖子更改为选项,现在它正在工作,但现在我遇到了一个新问题,请求到达但参数显示为空:stackoverflow.com/questions/51454195/…
标签: reactjs elixir phoenix-framework