摆脱"请求的资源[路径]与映射到' / Content'"的约定不匹配

时间:2016-06-10 09:17:10

标签: c# node.js nancy self-hosting

我正在与自托管的Nancy App合作,将其用作Api。

我在我的服务器上发布了它,现在我正在处理应该使用此API的网络应用。

当我请求function x(param: InterfaceOne | InterfaceTwo){ console.log(param.name); // Valid! console.log(param.id); // Valid! console.log(param.value); // Valid - but has the type IValue | IValue2, // so you can only access the common fields // of those types! console.log(param.selected); // INVALID - InterfaceOne doesn't have a selected member } interface InterfaceOne { value: IValue; name: string; id: number; } interface InterfaceTwo { value: IValue2; name: string; id: number; selected: boolean; } 时会出现问题。

当我使用邮递员测试时,我得到了这个:

  • GET http://myApi:[port]/api/token
  • 响应正文包含我要求的令牌

当我使用我的网络应用程序时,我会在nancy请求跟踪中得到这个:

  • StatusCode : 200
  • 记录消息:
      

    [StaticContentConventionBuilder]请求的资源' / api / token'与映射到' / Content'

    的约定不匹配

所以,如果我明白这意味着什么:在第二次请求时,Nancy正在尝试提供静态内容,这不是我想要他做的事情,因为我只想用我的令牌发回一个json。 / p>

我遇到了一些主题,它说我们可以改变staticContentConventionsBuilder的行为,但大多数只是更改静态内容文件夹。

我确保我的请求和回复标题中应包含StatusCode : 500

邮递员请求和网络应用程序请求不是由同一台计算机生成的,但是属于同一网络,并且允许使用CORS。

1 个答案:

答案 0 :(得分:0)

所以似乎在请求的标题中添加一行对我有用。 这是我添加的行: Accept : "*/*;q=1"

这是邮递员在每次请求时发送的标题的一部分。

您可以在此处找到相关说明:

purpose of the Q value in Accept header

或在答案中提供的链接。