javascript - 一种方法需要 HttpGet 属性,但另一种方法不需要

标签 javascript c# asp.net-web-api

我正在进行 Web API 调用,但出现此错误:

405 Method Not Allowed
The requested resource does not support http method 'GET'.

调用如下:

    var config = {
        url: rootWebApiUrl + '/api/containerMove/allowMultipleBoxesPerMove',
        method: 'GET'
    };

    $http(config)
        .then(function (response) {
            // code here
        }, function (response) {
            // code here
        });

如果我将 HttpGet 属性添加到 Web API 方法,它将起作用:

[HttpGet]
[Route("api/containerMove/allowMultipleBoxesPerMove")]
public bool AllowMultipleBoxesPerMove()

我不明白的是,我在同一个 Web API Controller 上进行的其他调用不需要 HttpGet。这是一个没有 HttpGet 属性的工作:

        var config = {
            url: rootWebApiUrl + '/api/containerMove/getBatchRefreshInterval',
            method: 'GET'
        };

        $http(config)

Web API 方法:

[Route("api/containerMove/getBatchRefreshInterval")]
public int GetBatchRefreshInterval()

那么,为什么我需要在一个 Web API 方法上使用 HttpGet 而在另一个方法上不需要呢?这些调用和 API 方法几乎相同。

最佳答案

Bob,Web API 有一个约定优于配置的范例,因此,在这种情况下,名称以 Get 开头的所有操作都将关联到 HTTP Get,这就是 getBatchRefreshInterval 不需要 [HttpGet] 属性

关于javascript - 一种方法需要 HttpGet 属性,但另一种方法不需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40267718/

相关文章:

javascript - JS 计算项目时的 Owl Carousel 问题

javascript - React 网站加载缓慢 - 是否由于许多静态 Assets ?

javascript - Google App 脚本 URL 获取 HTTPResponse 类对象

c# - 在 C# Web 应用程序中嵌入 IronPython 2 的问题

javascript - Jquery UI Datepicker - 依赖日期选择器排除 Maxdate 中的假期

c# - 如何将 Fiddler 与 HttpClient 一起使用?

c# - 使用 C# 将 HTML 转换为图像。 Html 有标签以及 base64 字符串问题

javascript - 如何将对象从 Angular 发布到 webapi Controller

c# - 当传入串口的数据是异步的时,如何通过 Web 服务存储数据?

angularjs - 使用来自 Angular JS 的 Web API token 身份验证时出现错误请求 (400)