问题标签 [restier]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
240 浏览

odata - 如何让一个 RESTier 0.6.0 服务根据请求选择数据库?

场景 A:假设您在同一个 SQL Server/SQL Azure 实例上有多个数据库共享完全相同的结构,其中数据库名称是基于约定的,例如 db001、db002...,并且单个 RESTier 服务必须能够解决每个 REST 调用的正确数据库,具体取决于要在请求标头或 URI 路径或查询字符串上提供的某些特征。

场景 B:单个 RESTier 服务必须能够处理多个连接字符串,在 web.config 文件中定义,具体取决于请求中提供的某些特征。

在这两种情况下,基本问题是相同的,单个 RESTier 服务能够处理多个数据库的请求,其中客户端必须在每个请求上提交要使用的数据库的提示,这是典型的多租户场景。我使用的是 RESTier 0.6 版,实体集自动从实体框架模型中公开:

问题是,您如何建议实施这种多租户场景?

0 投票
1 回答
1096 浏览

.net - odata webapi 和 RESTier 之间的区别?

我正在考虑实施一个 odata 解决方案,并且web apiRESTier在odata.org 库中都被列为可行的 v4 odata库。他们似乎都使用odata core

  1. 有什么区别?
  2. 我正在研究专门实现开放类型,两者对该功能的支持如何?
0 投票
2 回答
545 浏览

angularjs - Angularjs:为什么添加授权标头会导致-1状态响应?

我有一个预先存在的角度代码,可以从 API 获取数据。我正在尝试向请求添加身份验证令牌。

首先我尝试了一个简单的例子

当 GET 调用被触发并在 Chrome 中按 F12 时,我收到以下错误消息:

-1 的返回状态,并且没有调用到服务器端的迹象。

没有标题行,它工作正常。

如果我在Postman中尝试使用标题中相同的 Authorization 值进行GET 调用,这也可以正常工作。

我还尝试在 httpInterceptor 中添加标头并获得相同的结果:

我尝试过的其他事情:

  • 随机标头名称会导致相同的问题。
  • 我添加了'Content-Type' = 'text/plain; charset=utf-8'作为标题。这对结果没有任何改变

我正在使用角度 1.5.6

0 投票
1 回答
313 浏览

restier - OData Restier - 这适合什么?是否值得在生产中使用它?

我需要在生产中使用/使用“Restier”的人的意见。

我看到了一些问题 - 默认情况下禁用了安全性 - 所有数据都可以由甚至未经现场授权的用户读取。即使我们计划限制某些数据 - 您不能从表中删除一列 - 只有所有列对客户端可见。

最后 - 所有业务逻辑都转移到浏览器 javascript - 这不好。如果我们需要执行复杂的操作(必须在单个事务中) - 这是不可能的。

我的观点——“Restier”是为非常简单的 RESTful 项目设计的——比如地址簿、待办事项列表等。如果你开发大型商业应用程序——操作复杂的数据方案和操作货币交易——你应该避免在一个专案。

任何想法表示赞赏。

0 投票
1 回答
84 浏览

odata - 未找到 RESTier Guid 主键 404

如果主键是 guid 而不是 int,我对 RESTier 有疑问。

我可以使用 url/restierapi/entity 获取所有实体,但是当我尝试使用 url/restierapi/entity(guid) 获取单个实体时,未找到响应,但如果我尝试使用 url/restierapi/entity('guid') 结果是好的。

有人作为解决方案?

https://github.com/OData/RESTier/issues/547

0 投票
1 回答
224 浏览

c# - Restier 获取存储过程函数以工作 HTTP 请求

我有一个使用最新版本的 RESTier 网站。我使用 EF 6 从数据库创建的所有实体和视图都可以正常工作,但我似乎无法让我引入的存储过程开始工作。由于文档有点稀疏,我不确定是否需要实现除服务的基本启动之外的任何内容。

通过 Postman 发送此 URI 时,我收到 404 错误:http: //192.168.1.20 :60666/api/MIC_REST/up_BomAssemParts_s_ByJobID_FmNumber_WorkArea_TEST(jobID=252, fmNumber= 98, workAreas='A13,D12,A3,A9,A7 ,A10')

我基本上有以下服务的库存设置。任何有关它可能是 URI 或设置的帮助将不胜感激。

WebApiConfig

0 投票
1 回答
129 浏览

restier - RESTier 1.0 中的 IChangeSetItemAuthorizer

谁能指出我使用 IChangeSetItemAuthorizer 在 RESTier 1.0 中进行自定义授权的示例项目。

0 投票
1 回答
75 浏览

exception-handling - RESTier 提交逻辑,将错误消息推送到顶层

我正在使用 RESTier 0.6.0 库,并希望在删除资源之前对其进行一些检查。如果检查失败,我会抛出异常来停止删除操作。但是,我用来实例化异常的错误消息并没有在最高级别推出。从 Visual Studio 提供 Web API 时,我只能将消息视为内部异常。有没有办法让这个错误消息在最高级别推出?

目前,在 EntityFrameworkApi 中的 OnDelete 提交逻辑方法中抛出的任何异常都会导致如下所示的错误:

{ "error":{ "code":"","message":"发生错误。" } }

...这对客户不是特别有用。

更新:我在 RESTier 文档MkDocs 版本中指出,给出了一个抛出 ODataException(而不是异常)的示例。我在代码中更改了这一点,但发布的 Restier 服务返回的错误对象仍然只有基本的“发生错误”信息。

非常感谢您的帮助!

0 投票
0 回答
79 浏览

c# - 使用 Restier 和 delegateDecompiler 公开计算属性

我正在测试 C# 和 Restier 库。和很多人一样,我尝试公开一个人的实体框架模型的“FullName”属性,而Restier 拒绝公开它。

我在这篇文章中看到,使用 DelegateDecompiler 应该是可能的,而不会因为丑陋的 sql 查询而失去性能。
链接:
https ://daveaglick.com/posts/computed-properties-and-entity-framework
https://github.com/hazzik/DelegateDecompiler

我安装了它并写道:

但是我不能让它工作,该属性仍然没有暴露给 API。
我错过了什么?
谢谢

0 投票
1 回答
197 浏览

c# - 如何在 RESTier 中自定义 pageSize?

在 RESTier 文档中,我们可以像这样管理 maxTop 的结果数: config.Filter().Expand().Select().OrderBy().MaxTop(50).Count();
如果客户端明确使用 $top 关键字,它会很好地工作。但是,客户端仍然可以通过简单的请求“www.rest.com/api/users”访问其余资源并获取整个表。
是否存在服务器结果限制配置,以防止减速?(如 WebApi 分页功能)