在我的WebAPI类中,ApiController我打了一个调用,例如:
string myCustomMessage = .....;
throw new HttpResponseException(
new HttpResponseMessage(HttpStatusCode.Unauthorized)
{ ReasonPhrase = myCustomMessage });
Run Code Online (Sandbox Code Playgroud)
当我使用AngularJS $resource服务调用时,我会在状态字段中获得响应的401,在promise的catch块中.401比赛HttpStatusCode.Unauthorized,所以一切都很好.
但问题是响应的数据字段为空(null).我没有得到myCustomMessage返回.
现在,如果不是抛出HttpResponseException异常,我只是抛出一条Exception带有消息的常规消息,该消息确实使它回转到Angular.
我需要能够做到这两点:从服务器返回自定义消息,以及返回的状态代码是我想要的,在本例中为401.
谁知道如何做到这一点?
[编辑] 解决方案:
throw new HttpResponseException(
Request.CreateErrorResponse(HttpStatusCode.Unauthorized, myCustomMessage));
Run Code Online (Sandbox Code Playgroud) 互联网奇怪地没有关于如何在Jupyter环境下运行Haskell的指令.任何引导您的文档都需要您从源代码编译,但是在尝试这样做时,会发生各种构建错误.
似乎奇怪的是,一个肯定会给Haskell带来如此大曝光的环境奇怪的是没有足够多的人运用,以至于会有一些体面的文档.然而,据说这种语言是受支持的.
有没有人得到这个工作?
我正在调用一个我无法控制的后端服务器.目前它正在使用这样的jQuery ajax:
return $.ajax({
type: "POST",
url: "/api/cases/store",
contentType: "application/json",
data: JSON.stringify(parameters),
headers: { "Authorization": cred } : {}
}) // ... etc.
Run Code Online (Sandbox Code Playgroud)
我想将它转换为使用该$resource服务,并让它工作这样做
$http.defaults.headers.common['Authorization'] = cred;
return $resource('/api/cases/store').save();
Run Code Online (Sandbox Code Playgroud)
唯一的问题是我必须$http使用auth凭据设置全局服务默认值.
我看到你应该能够通过$http调用传递自定义标头,现在通过$resource调用,但我找不到任何关于如何在我的情况下执行它的示例(使用POST).
我在AngularJS文档中也找不到任何相关内容.你们怎么想出这个东西?文档非常糟糕!
javascript http-post angularjs angularjs-resource angularjs-http