带有 URI 参数的 WebAPI RC GetAll

2024-04-18

以前在 WebAPI(测试版)中,我能够创建一个“GetAll”方法,该方法接受 URI 上添加的可选参数:

http://localhost/api/product?take=5&skip=10 

这似乎仍然有效,但前提是我包含所有参数。在(测试版)中,我可以省略参数(http://localhost/api/product/)并且“GetAll”方法将被调用(take&skip将为空)。我也可以省略一些参数http://localhost/api/product?take=5(跳过将为空)

public IEnumerable<ProductHeaderDto> GetAll(int? take, int? skip)
{
    var results = from p in productRepository
                  select new ProductHeaderDto
                    {
                        Id = p.Id,
                        Version = p.Version,
                        Code = p.Code,
                        Description = p.DescriptionInternal,
                        DisplayName = p.Code + " " + p.DescriptionInternal
                    };
    if (skip != null) results = results.Skip(skip.Value);
    if (take != null) results = results.Take(take.Value);
    return results;
}

在 (RC) 中,我现在得到“在与请求匹配的控制器‘产品’上找不到任何操作。”当两个或一个参数丢失时。我尝试在方法参数上添加 [FromUri] 但这没有影响:

public IEnumerable<ProductHeaderDto> GetAll([FromUri] int? take, [FromUri] int? skip)

我也尝试过设置默认值:

public IEnumerable<ProductHeaderDto> GetAll(int? take = null, int? skip = null)

在尝试匹配方法签名时是否可以使用某种“可选”参数属性?


这是 RTM 中修复的一个错误。您可以通过指定默认值来获得可选参数。

public IEnumerable<string> Get(int? take = null, int? skip = null)

顺便说一句,您可以在中使用 $skip 和 $topweb api odata 包 http://www.nuget.org/packages/Microsoft.AspNet.WebApi.OData来实现同样的功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 URI 参数的 WebAPI RC GetAll 的相关文章

随机推荐

  • Git Cherry-Pick 和冲突

    有两个不同的 git 分支 其中一个开发正在进行 Branch1 在其他分支中 一些 PoC 工作正在进行 Branch2 现在 我想挑选从 Branch1 到 Branch2 的更改 以便 Branch2 是最新的 现在 在挑选 4 或
  • 对于“未找到项目”错误页面,最合适的 HTTP 状态代码是什么

    我很好奇 项目不存在 页面最合适的 HTTP 状态代码是什么 如果页面本身不存在 我显然会使用 404 但是 我的其中一个页面有一个userid参数 它是一个 编辑用户 页面 如果不存在具有给定用户 ID 的用户 我将显示一个错误页面 但我
  • 谷歌合作实验室“ResourceExhaustedError”与 GPU

    我正在尝试微调Vgg16模型使用colaboratory但我在使用 GPU 训练时遇到了这个错误 OOM when allocating tensor of shape 7 7 512 4096 INFO tensorflow Error
  • 无空间分页库

    新分页库的所有示例都已包含在 Room 库中 Room 为我们创建了一个数据源 就我自己而言 我需要创建自定义数据源 这是我的视图模型类中的一个方法 它应该返回实时数据 我的 livedata 总是返回 null LiveData
  • Cakephp 递归条件下的分页

    我对这个问题很生气 请有人帮助我 我有这个模型 订单有很多 gt 订单项有一个 gt 产品 产品有字段vendor id 我想对包含具有特定供应商 ID 的产品的订单进行分页 我怎样才能实现这个目标 我在订单控制器中的代码 if empty
  • 转义 Django 模板变量的简单方法

    对于一个新项目 我们正在编写文档aboutDjango 模板系统 我们也将 Django 用于文档项目本身 因此 Django 会选取示例代码中的所有示例变量并尝试呈现它们 我们发现解决这个问题的唯一方法是使用 模板标签 http docs
  • 为什么 unique_ptr 不能从 T* 构造?

    举个简单的例子 这段代码有什么 问题 unique ptr
  • 使用 @Transactional 时自动装配依赖项的注入失败

    我测试了我的 DAO 但没有成功 出现以下错误 Tests in error testAccountOperations com tsekhan rssreader dao HibernateControllerTest Error cre
  • javax.activation.UnsupportedDataTypeException:没有 MIME 类型多部分/混合的对象 DCH;边界

    目前我正在编写一段监听目录的代码 当使用 apk 文件更新目录时 我会将包含此 apk 文件的邮件发送到 gmail 帐户 我在我的程序中使用 Jnotify 和 JAVA Mail 我得到的错误是 javax mail Messaging
  • 使用 jQuery 的 MediaWiki API 没有响应

    我尝试从 Wikipedia 获取一些 JSON 内容 getJSON http en wikipedia org w api php action query prop revisions rvprop content titles ti
  • 星系模拟:更改点的颜色并在鼠标悬停时显示文本

    我正在尝试创建模拟 https riteshsingh github io galaxies 4673 个最近星系的位置 星系是点 我想为鼠标悬停时的点着色并加载星系的名称 我花了很多天试图实现它 我可以更改颜色以及进行基本的光线投射 但是
  • Android 版 Google Chrome 上的字体大小显示问题

    我有一个网页 其中字体大小为body 16px 在 Android 版 Google Chrome 上 我遇到以下问题 当页面最初加载时 未定义字体大小 因此从正文继承字体大小 的元素中的字体大小大于 16px 如果您继续阅读 您将会看到
  • 如何通过 Stripe API 判断关联帐户是否完整?

    我正在尝试验证我网站上的用户是否已通过其 API 完成了 Stripe 的入职流程 我在帐户对象中没有看到任何字段 https stripe com docs api accounts https stripe com docs api a
  • 最大行大小超出允许的最大值 8060 字节

    在运行 Microsoft SQL Server 2014 时 更改表后 我收到有关行大小的警告 ALTER TABLE myTable ALTER COLUMN aRandomColumn NVARCHAR 10 Warning The
  • 使用 Gevent 和 WSGI 阻止调用

    我刚刚开始使用协程并阅读了 gevent 和 greenlet 为了进行测试 我通过 gevents pywsgi 模块提供了此代码 from gevent pywsgi import WSGIServer import gevent de
  • 将动态属性映射读入 Spring 托管 bean

    我有一个像这样的属性文件 my properties file app One id 1 app One val 60 app Two id 5 app Two val 75 我将这些值读入 Spring 配置文件中 bean 的映射属性
  • 提取给定 2D 图像点、深度图和相机校准矩阵的 3D 坐标

    我有一套2D image输出的关键点OpenCV FAST角点检测功能 使用Asus Xtion I还有一个时间同步的深度图 其中所有相机校准参数都是已知的 使用这些信息我想提取一组3D坐标 点云 在OpenCV 任何人都可以给我任何有关如
  • 我如何从 django 中的查询集中获取字符串表示形式

    我有这样的查询集 qs User objects all 我正在像这样转换为字典 qs values id username 但我想获取字符串表示形式 而不是用户名 就像是 qs values id str 你不能 values只能获取存储
  • C++ Winsock 10093 错误

    我正在尝试用 C 构建一个可以接受多个客户端的服务器 为此 我构建了一个 winsock 包装器 并使用带有 boost 的线程来为每个客户端进行通信 我在尝试接受客户时遇到了一个奇怪的问题 我有一个看起来像这样的循环 int client
  • 带有 URI 参数的 WebAPI RC GetAll

    以前在 WebAPI 测试版 中 我能够创建一个 GetAll 方法 该方法接受 URI 上添加的可选参数 http localhost api product take 5 skip 10 这似乎仍然有效 但前提是我包含所有参数 在 测试