问题标签 [openrasta]

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 投票
1 回答
935 浏览

c# - 在 OpenRasta 处理程序中处理异常时,转换为响应的最佳方法是什么?

我正在使用 OpenRasta 2.0 构建一个 REST API,它的可扩展性非常好——例如,我们已经成功地使用 DotNetOpenAuth 轻松地插入了 OAuth 身份验证。

但是,我现在已经到了需要定义错误条件的响应的地步。我们正在采用有关 HTTP 错误代码的标准——但我也意识到返回有意义的响应,就像 Twitter(REST 的常年示例)所做的那样:

从我们所有的处理程序返回 OperationResult、手动捕获异常并映射到 ResponseResource 的最佳方式是什么?与 OpenRasta 的其他功能相比,这在我看来是相当大的开销。

还是我们应该编写某种贡献者来捕获管道中抛出的异常并全局处理问题?也许只翻译特定类型的异常(RestException?)。

基本上,我对最好的做法是什么以及其他人如何处理它有一种感觉。

谢谢。

编辑:

今天看了一段时间后,我无法弄清楚如何包装处理程序调用 - 我已经声明自己是一个 OperationInterceptor 派生类,并将其挂接到管道中ResourceSpace.Uses.PipelineContributor<OperationInterceptorContributor>()并设置了一个自定义依赖项,ResourceSpace.Uses.CustomDependency<IOperationInterceptor, ExceptionHandlerInterceptor>(DependencyLifetime.PerRequest)但无论在哪个在我尝试并包装在 try-catch 中的方法中,异常仍然冒泡。

是吗RewriteOperationBeforeExecute或者AfterExecute那是最合适的陷阱 - 如果是的话,你能给我一个关于如何开始的线索吗?

谢谢。

0 投票
1 回答
425 浏览

file-upload - 使用 OpenRasta 和 IMultipartHttpEntity 上传多部分/表单数据

我正在尝试使用 OpenRasta 发布一些文件。我已经调用了我的处理程序,但从所有外观来看,实体中的流是空的。这是我的处理程序:

每次通过循环 memoryStream 的长度为 0。我做错了什么?

0 投票
1 回答
396 浏览

.net - 使用 PUT 在 OpenRasta 中上传文件

是否可以使用 PUT post 方法在 OpenRasta 中上传文件?

0 投票
1 回答
220 浏览

.net - 您可以在 OpenRasta 中同时发布文件和资源吗?

是否可以在 OpenRasta 中同时上传文件和发布元数据(在帖子正文中)?如果是这样,你有一个如何做到这一点的例子吗?

0 投票
1 回答
192 浏览

rest - 如何为以下场景创建 RESTful 接口?

我有一个名为 Media 的资源,它有许多属性(名称、媒体类型、元数据、文件)。媒体资源还包含一个物理文件。现在媒体资源(元数据)的一些细节是从文件中收集的。在我的系统中,我能够以两种方式工作。

1)创建一个媒体资源,设置名称和媒体类型,然后向它发布一个文件(更新元数据)。

我目前在我的网络服务中使用如下:

POST /rest/media(创建并返回媒体资源)
GET /rest/media/{id}(获取特定媒体资源)
PUT /rest/media/{id}/file(上传文件,并更新媒体资源)
GET /rest/media/{id}/file (获取上传的文件)

2)上传文件,自动创建一个Media资源,将Name设置为文件名,并自动从文件扩展名中计算出MediaType。

这是我需要帮助架构的场景。我想支持这两种方法,但不确定如何将其映射到 RESTful URL 结构。

我对一般的“RESTful”建议持开放态度,但如果您有基于 OpenRasta 的具体建议,那将是理想的。

0 投票
1 回答
928 浏览

iis - Web 角色上的 Azure REST API 不接受带有 Json 正文的 POST

我们在 Azure Web 角色上使用 Open Rasta 来提供 REST API。我们的 GET 方法可以很好地返回 Json 数据。当我尝试使用 Json 主体发布请求时,我收到此错误。

服务器无法为请求提供服务,因为媒体类型不受支持。它返回一个 415 代码。我检查了 Fiddler 中的消息,它们看起来还不错。

我猜 IIS 未设置为允许 -> Content-Type: application/json

我找到了这个http://msdn.microsoft.com/en-us/library/gg433059.aspx但我不确定我需要做什么才能让它工作。

任何帮助都会很棒。

0 投票
2 回答
623 浏览

c# - 带有嵌入式 IronPython 的 RESTful Web 服务:引擎和范围问题

我有一个 RESTful C# Web 服务(使用 Open Rasta),我想运行与 CouchDB 对话的 IronPython 脚本。

我可以澄清的一件事是:我多久需要一次 python 引擎和范围的新实例?每个应用程序一个?每个会话?每个请求?

我目前在应用程序级别有一个静态引擎以及一个已编译脚本的字典;然后,根据请求,我创建一个新范围并在该范围内执行代码......

那是对的吗?线程安全吗?并尽可能高效?

编辑:关于赏金还请回答我在回复 Jeff 时提出的问题:引擎的静态实例是否会导致来自不同客户端的顺序请求排队等待执行?如果是这样,我可能会根据每个请求需要一切。

0 投票
1 回答
429 浏览

openrasta - 使用 OpenRasta 的编解码器文件扩展名返回 404

在 OpenRasta 中使用编解码器 uri 文件扩展名时,或者无法解析 uri 并返回 404。没有文件扩展名,一切正常。

编解码器是为对象资源定义的,我同时使用 XmlDataContract 和 JsonDataContract。使用 .xml 或 .json 扩展名都不起作用,这适用于 InMemoryHost(我们用于测试)和 ASP.Net(IIS7,集成模式)。

编解码器配置:

为了使 uri 文件扩展工作正常,还有什么需要做的吗?

0 投票
1 回答
717 浏览

.net - 如何在 OpenRasta 中设置 Content-Type 标头字符集

当我通过 JsonDataContractCodec OpenRasta 将我的对象作为 JSON 返回时,将 Content-Type 标头设置为

应用程序/json

但忽略内容类型的字符集部分。

当我使用 Chrome 时,它​​会发送带有以下标头的 GET 请求:

接受字符集:windows-1251,utf-8;q=0.7,*;q=0.3

我所有的 utf-8 编码的 json 对象都出错了。

我试图在没有运气的情况下覆盖 OperationResult。OpenRasta 用编解码器的标题覆盖我的标题。

0 投票
2 回答
2908 浏览

asp.net - 自动生成 ReST Web 服务文档/WADL

我们正在使用 ASP.NET 和 OpenRasta 创建 ReST Web 服务。

有什么工具可以帮助我们:

  • 创建 WADL 文件

  • 或/和创建人类可读的 API 文档,类似描述每个资源支持的资源/HTTP 方法等?