当前位置: 首页 > 面试题库 >

Web API放置识别查询字符串但不识别正文

屠昌胤
2023-03-14
问题内容

当我将用户作为查询字符串(使用$ http中的参数)传递给用户,并设置Web
api方法以在uri中寻找用户时,一切都变得如桃子。但是当我按如下所示将其传递时,用户显示为null。我在这里想念什么?

角函数

scope.saveChanges = function () {
        // create array of user id's
        var users = [];
        angular.forEach(scope.usersInRole, function (v, k) {
            users.push(v.Key);
        });

        var data = { user: users };

        var token = angular.element("input[name='__RequestVerificationToken']").val();

        // put changes on server
        http({
            url: config.root + 'api/Roles/' + scope.selectedRole + '/Users',
            method: 'PUT',
            data: data,
            contentType: "application/json; charset=utf-8",
            headers: { "X-XSRF-Token": token },
            xsrfCookieName: '__RequestVerificationToken'
        }).success(function (result) {
            // notify user changes were saved
            angular.element('#myModal').reveal({ closeOnBackgroundClick: false });
        });
    };

网络API动作

 public HttpResponseMessage Put(HttpRequestMessage request, [FromUri]string role, [FromBody]string[] user)
            {

                return request.CreateResponse(HttpStatusCode.NoContent);
            }

问题答案:

试试:data: users代替data: data

asp.net api中, 整个请求主体 都绑定到一个参数。出于这个原因,你 不能有多个参数
[FromBody]在动作方法的参数。只有一个=>,我们不需要在请求正文中指定属性名称。



 类似资料:
  • 问题内容: 根据guido(以及其他一些Python程序员)的说法,隐式字符串文字串联被认为是有害的。因此,我试图识别包含此类串联的逻辑行。 我的第一次(也是唯一的尝试)是使用; 我曾想过用来分割逻辑线,所以我将确定用引号引起来的部分,如果这些部分彼此相邻,则将其视为“文字级联”。 但是,这在多行字符串上失败,如以下示例所示: 我可以调整这是一些奇怪的临时方法,但是我想知道您是否可以想到一个简单的

  • 甚至这张照片上的镶嵌也无法识别任何字符。我的代码是: 我的问题是,你知道如何取得更好的结果吗?更清晰的图像?尽管我的车牌质量较差,因此结果可以读取OCR(例如泰瑟拉克特)。 谢谢你的回答。真的,我不知道怎么做。

  • 我试图运行一个Selenium脚本与运行它的选项使用chrome或headless驱动程序。这可能不是正确的实现方法,但这是我的第一个想法。解决办法可能是完全避免这种情况... 起作用的示例: envDomain标记也按预期工作,所以我不确定为什么driverName参数会以不同的方式工作。

  • 我将TestNG添加到我的pom.xml中,然后它就被导入了。我可以使用TestNG注释,但是当我试图设置优先级时,它无法识别它。我是不是漏掉了什么?以下是我正在使用的Intellij版本: IntelliJ IDEA 2020.2(社区版) 构建#ic-202.6397.94,构建于2020年7月27日 运行时版本:11.0.7+10-b944.20 amd64 VM:OpenJDK 64位服务

  • 当我在GSI上查询时,我对Amazon DynamoDBv2的Amazon DynamoDBAsync.query异步请求的实现返回代码400“查询条件错过了关键模式元素......”。 我尝试使用DynamoDBAttribute名称(“myAttr”)和GSI的实际索引名称(“idx\u global\u myAttr”),并收到相同的错误代码。这与Docker的图片“amazon/dynam