如何更改 ServiceStack 中的默认 ContentType?

2023-12-08

I have 注册了新的内容类型在 ServiceStack 中:

appHost.ContentTypeFilters.Register("application/x-my-content-type", 
   SerializeToStream, DeserializeFromStream);

如果客户端在 http 流中发送内容类型,则一切都会按预期工作。

不幸的是,我有一个客户端不受我的 HTTP 请求头控制,并且不发送内容类型。

如何让 ServiceStack 设置该路由的默认内容类型?


在每个 ServiceStack 上/元数据页列出了客户端请求特定内容类型的不同方式:

覆盖客户端 HTTP 中的内容类型Accept标头、附加?格式=xml或添加 .format扩大

例如。客户端可以指定您的自定义 ContentType?format=x-我的内容类型,添加.x-my-content-type扩展或通过指定 HTTP 标头(在 HttpClient 中):

接受:应用程序/x-我的内容类型

否则,如果您的 HttpClient 不发送 Accept 标头,您可以在 AppHost 中指定默认内容类型:

SetConfig(new HostConfig {
     DefaultContentType = "application/x-my-content-type"
});

注意:ServiceStack 中的所有配置选项均设置为HostConfig.

从 Web 浏览器调用 Web 服务时的问题是,它们通常会要求Accept: text/html根据合同,ServiceStack 有义务返回 HTML(如果启用)。

为了确保始终返回您的 Content-Type,您可能还需要通过以下方式禁用 HTML 功能:

SetConfig(new HostConfig {
    EnableFeatures = Feature.All.Remove(Feature.Html),
});

否则如果你想覆盖接受header 中,您可以通过在 HttpResult 中装饰您的 Response DTO 来强制您的服务始终返回您的 Content-Type,即:

return new HttpResult(dto, "application/x-my-content-type");

否则,在服务之外的任何地方(例如请求/响应过滤器),您可以在有权访问的任何地方设置响应内容类型IHttpRequest with:

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

如何更改 ServiceStack 中的默认 ContentType? 的相关文章

  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • 如何针对 Nancy 中的 Active Directory 进行身份验证?

    这是一篇过时的文章 但是http msdn microsoft com en us library ff650308 aspx paght000026 step3 http msdn microsoft com en us library
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • 为什么模板不能位于外部“C”块内?

    这是一个后续问题一个答案 https stackoverflow com questions 4866433 is it possible to typedef a pointer to extern c function type wit
  • 我的 strlcpy 版本

    海湾合作委员会 4 4 4 c89 我的程序做了很多字符串处理 我不想使用 strncpy 因为它不会终止 我不能使用 strlcpy 因为它不可移植 只是几个问题 我怎样才能让我的函数正常运行 以确保它完全安全稳定 单元测试 这对于生产来
  • 初始化变量的不同方式

    在 C 中初始化变量有多种方法 int z 3 与 int 相同z 3 Is int z z 3 same as int z z 3 您可以使用 int z z 3 Or just int z 3 Or int z 3 Or int z i
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • 有人可以用简单的术语解释“超文本作为应用程序状态的引擎”

    这似乎是我最难理解的 REST 原则 我知道 在设计 REST API 时 大部分精力应该花在为应用程序设计 描述超文本上 对于这个原理的现实世界应用有什么指示吗 原子协议如何应用这个原理 有人可以简单地解释一下如何将其应用到假设的购物车
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 检查 url 是否指向文件或页面

    我们需要以下内容 如果文件确实是文件 则从 URL 下载该文件 否则 如果它是一个页面 则什么也不做 举个简单的例子 我有以下命令来下载文件 My Computer Network DownloadFile http www wired c
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • EPPlus Excel 更改单元格颜色

    我正在尝试将给定单元格的颜色设置为另一个单元格的颜色 该单元格已在模板中着色 但worksheet Cells row col Style Fill BackgroundColor似乎没有get财产 是否可以做到这一点 或者我是否必须在互联
  • 如何在.NET Core上直接调用F#编译器?

    UPD 我想直接从 NET Core SDK 调用 F 编译器 即 fsc 我了解 dotnet build co 但当我只需要编译一个简单的问题时 即 fsc file fs 就足够的情况下 我不想涉及它们 我尝试在 NET Core S
  • 如何在内存中存储分子?

    我想将分子存储在内存中 这些可以是简单的分子 Methane CH4 C H bond length 108 7 pm H H angle 109 degrees But also more complex molecules like p
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • 方法参数内的变量赋值

    我刚刚发现 通过发现错误 你可以这样做 string s 3 int i int TryParse s hello out i returns false 使用赋值的返回值是否合法 Obviously i is but is this th
  • Bing 地图运行时错误 Windows 8.1

    当我运行带有 Bing Map 集成的 Windows 8 1 应用程序时 出现以下错误 Windows UI Xaml Markup XamlParseException 类型的异常 发生在 DistanceApp exe 中 但未在用户
  • 如何在 C# 中播放在线资源中的 .mp3 文件?

    我的问题与此非常相似question https stackoverflow com questions 7556672 mp3 play from stream on c sharp 我有音乐网址 网址如http site com aud
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的

随机推荐

  • 如何使用gracefulStop关闭所有grpc服务器流?

    我试图停止从服务器端连接到流服务器的所有客户端 其实我正在使用GracefulStop优雅地处理它的方法 我正在等os Interrupt在通道上发出信号以执行 gRPC 的正常停止 但它被卡住了server GracefulStop 当客
  • 如何屏蔽 URL 中的扩展名

    有没有办法使用 PHP 屏蔽我网站上页面的 URL 扩展名 例子 http home 子文件夹代替http home subfolder php 将以下内容放入网站根目录的 htaccess 文件中
  • Angular2注入的路由器未定义

    如果我将路由器从 angular router 注入到组件中然后使用它 我会收到一条错误消息 指出无法调用未定义的 navigatorByUrl 这是我使用路由器实例的组件 import Component OnInit from angu
  • Edittext 中显示多个光标

    我面临一个奇怪的问题 在我的编辑文本中 1 当用户输入任何内容时 我可以看到多个光标 2 即使用户正在输入内容 提示也可见 请参考截图 以下是布局 XML
  • 检查SQL Server中是否存在表

    我希望这是关于如何使用 SQL 语句检查 SQL Server 2000 2005 中表是否存在的最终讨论 这里有两种可能的方法 哪一种是标准 最佳方法 第一种方式 IF EXISTS SELECT 1 FROM INFORMATION S
  • 猫鼬 - 可能的循环依赖?

    我的 Express 应用程序中有以下猫鼬模型 dog js var mongoose require mongoose var dogSchema exports dogSchema mongoose Schema name type S
  • 输入多个带标签但不自动完成的内容

    我有两个输入 我希望两个输入具有相同的外观和感觉 如下所示 第一个输入使用自动完成并允许用户选择术语列表 gt 我使用p 自动完成 see 关于自动完成的 Primefaces 文档 这个输入效果很好 对于第二个输入 我希望有相同的显示 但
  • MySQL 结果集可滚动/可更新未按预期工作

    我有一个测试 JDBC 程序 它尝试更改 ResultSet 的可滚动性和可更新性功能 不幸的是 所有的组合TYPE and CONCUR 似乎产生相同的结果 TYPE SCROLL INSENSITIVE and CONCUR READ
  • 获取在 Objective C (Mac OSX) 中打开的应用程序上的 url 事件

    我正在为 OSX 10 6 编写一个非常轻量级的应用程序 它将响应用户单击 URL 通过 TCP 将该 URL 传递给另一个应用程序 然后退出 到目前为止 它已经注册好 可以在用户单击自定义 url 方案时启动 然而 如果应用程序尚未运行
  • 如何强制 TFS 2010 在 64 位构建计算机上使用 32 位 ASPNET 编译器构建网站

    我们有一款非常大的产品 可以在 32 位构建控制器上编译得很好 而且大多数情况下在 64 位构建控制器上编译也很好 但有一个例外 我们有一个预编译的网络表单前端 当它在 64 位机器上构建时 它会在日志文件中显示一个命令行 C Window
  • 分段控制在每个分段中设置属性标题

    实际上我有一个带 4 段的分段控件 我需要在每个段中添加属性文本 例如 通知 2 这里 2 将采用不同的颜色 通知将采用不同的颜色 我搜索了一些第三方库 但它对我不起作用 感谢和问候 当我们用于标签或按钮时 使用属性文本是有限制的 但您可以
  • 是否有与 ASP.NET 的 PrimeFaces 等效的东西?

    我多年来一直是 ASP NET 开发人员 但最近我开始使用 JSF 2 0 来使用一些 PrimeFaces 解决方案 我对此没有什么可抱怨的 值得的强调几点让我喜欢PrimeFaces的 许多组件 易于使用 完全基于 jQuery 和 j
  • 如何用R将非方阵转换为方阵?

    我有一个网络数据并试图对其进行分析 问题是它缺少一些行或列 我想匹配行和列 所以它可以是方阵 我的数据如下所示 A B C D E A 0 2 1 4 5 B 1 0 2 4 2 D 2 4 0 2 2 E 1 2 2 2 0 我想让它看起
  • 在参数评估顺序中警告 UB

    我最近在这样的代码中遇到了一个错误 class C public foo return value depends on C s state AND each call to foo changes the state int foo in
  • setOnItemClickListener 没有响应[重复]

    这个问题在这里已经有答案了 可能的重复 setOnItemClickListener 没有被调用 我有一个扩展基本适配器的自定义适配器 当我在 onCreate 中设置 setOnItemClickListener 并实现 onItemCl
  • 有没有办法让 Perl 正则表达式搜索不区分大小写?

    Example my cities qr San Francisco Los Angeles 标量 cities将匹配San Francisco and Los Angeles但不会匹配SAN FRANCISCO LOS ANGELES s
  • 覆盖 Django 表单的默认属性

    在我的 Django 应用程序中 我有几种不同的表单 它们的风格相似 为了不一遍又一遍地重复自己 我尝试重写默认的表单设置 首先 我想为我在应用程序中使用的每个表单设置一些默认设置 并尝试将其子类化django forms Form cla
  • 检测传单是否放大或缩小

    我如何知道用户何时放大或缩小 如果用户在一定级别后缩放 我想启动动画 当事件zoomstart被触发时是否可以知道这一点 我如何知道用户何时放大或缩小 在每zoom水平 计算多少map getZoom 已经改变 当事件zoomstart被触
  • 无法再连接到本地 SQL Server 2008 数据库

    今天我去连接到本地数据库 但由于未知原因无法再连接 我像往常一样输入 本地 并使用 Windows 身份验证 但出现此错误 无法连接到本地主机 发生网络相关或特定于实例的错误 建立与 SQL 的连接 服务器 找不到服务器或 无法访问 验证
  • 如何更改 ServiceStack 中的默认 ContentType?

    I have 注册了新的内容类型在 ServiceStack 中 appHost ContentTypeFilters Register application x my content type SerializeToStream Des