asp.net-mvc - WebApi 是否支持开箱即用的 application/x-www-form-urlencoded

标签 asp.net-mvc c#-4.0 asp.net-web-api

嗨,我正在尝试设置一个 api 以允许第 3 方 webhook 目标发布 application/x-www-form-urlencoded。

我只在 webapi 中使用过 json 和 xml。

我需要创建一个自定义媒体类型来接受这个还是默认情况下它应该工作?

任何建议,将不胜感激。

更新

我查看了提供的示例,但我仍然不确定 webhook 将发送到我的 api 的数据示例的样子。

我该如何设置我的 Controller 来接受这个?

POST/some-path HTTP/1.1
主机:your.host.example.com
内容类型:application/x-www-form-urlencoded
内容长度:2837
连接:保持事件
接受:/

environment=prod&domain_prefix=example&type=product.update&payload=%7B%22id%22%3A%229fe945bc-2d20-11e2-8057-080027706aa2%22%2C%22retailer_id%22%3A%229a5521c3-2d20-11e2-8057-080027706aa2%2 %2C%22sku%22%3A%229416050901074%22%2C%22handle%22%3A%221000001%22%2C%22source%22%3A%22USER%22%2C%22active%22%3A%221%22%2C %22name%22%3A%22Ginger+Beer%22%2C%22description%22%3A%22%3Cp%3EA+美味+姜+啤酒+that+is+both+提神+and+good+value+for+money .%3C%5C%2Fp%3E%22%2C%22supplier%22%3A%7B%22id%22%3A%229fc84329-2d20-11e2-8057-080027706aa2%22%2C%22retailer_id%22%3A%229a5521c3- 2d20-11e2-8057-080027706aa2%22%2C%22name%22%3A%22Brewer+Supplies+Ltd.%22%2C%22description%22%3A%22We+supply+all+things+brewed%5Cn%22%2C %22source%22%3A%22USER%22%7D%2C%22brand%22%3A%7B%22id%22%3A%229fb8e69d-2d20-11e2-8057-080027706aa2%22%2C%22name%22%3A%22Vaughan %27s+生姜+啤酒+酿造+公司%22%7D%2C%22inventory%22%3A%5B%7B%22product_id%22%3A%229fe945bc-2d20-11e2-8057-080027706aa2%22%2C%22outlet_id%22 %3A%229aee412b-2d20-11 e2-8057-080027706aa2%22%2C%22attributed_cost%22%3A%221%22%2C%22count%22%3A%2222%22%2C%22reorder_point%22%3A%2212%22%2C%22restock_level%22% 3A%2240%22%7D%2C%7B%22product_id%22%3A%229fe945bc-2d20-11e2-8057-080027706aa2%22%2C%22outlet_id%22%3A%229ae97219-2d20-11e2-8057-020027706aa2%2 2C%22attributed_cost%22%3A%221%22%2C%22count%22%3A%2214%22%2C%22reorder_point%22%3A%226%22%2C%22restock_level%22%3A%2220%22%7D% 5D%2C%22price_book_entries%22%3A%5B%7B%22id%22%3A%22a1098b59-2d20-11e2-8057-080027706aa2%22%2C%22product_id%22%3A%229fe945bc-2d20-11e2-8057-080027706aa2% 22%2C%22price%22%3A%222.00%22%2C%22tax%22%3A%220.25%22%2C%22type%22%3A%22BASE%22%2C%22customer_group_id%22%3A%229b097e69-2d20- 11e2-8057-080027706aa2%22%2C%22customer_group_name%22%3A%22All+Customers%22%2C%22tax_id%22%3A%229a025ff0-2d20-11e2-8057-080027706aa2%22%2C%22tax_name%22%3A% 22NZ+GST%22%2C%22tax_rate%22%3A%220.150000%22%7D%2C%7B%22id%22%3A%22a1318cf0-2d20-11e2-8057-080027706aa2%22%2C%22product_id%22%3A% 229fe945bc-2d20-11e2-8057- 080027706aa2%22%2C%22price%22%3A%221.90%22%2C%22tax%22%3A%220.24%22%2C%22type%22%3A%22GENERAL%22%2C%22customer_group_id%22%3A%229b097e69- 2d20-11e2-8057-080027706aa2%22%2C%22customer_group_name%22%3A%22All+Customers%22%2C%22tax_id%22%3A%229a025ff0-2d20-11e2-8057-080027706aa2%22%2C%22tax_name%22% 3A%22NZ+GST%22%2C%22tax_rate%22%3A%220.150000%22%7D%2C%7B%22id%22%3A%22a13a6320-2d20-11e2-8057-080027706aa2%22%2C%22product_id%22% 3A%229fe945bc-2d20-11e2-8057-080027706aa2%22%2C%22min_units%22%3A%2210.00%22%2C%22price%22%3A%221.50%22%2C%22tax%22%3A%220.19%22% 2C%22type%22%3A%22BASE%22%2C%22customer_group_id%22%3A%229b097e69-2d20-11e2-8057-080027706aa2%22%2C%22customer_group_name%22%3A%22All+Customers%22%2C%22tax_id% 22%3A%229a025ff0-2d20-11e2-8057-080027706aa2%22%2C%22tax_name%22%3A%22NZ+GST%22%2C%22tax_rate%22%3A%220.150000%22%7D%5D%7D

最佳答案

是的,它支持开箱即用。

请看一下那个样本:ASP.NET Web API: Sending Form-Url-Encoded Data

关于asp.net-mvc - WebApi 是否支持开箱即用的 application/x-www-form-urlencoded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13808958/

相关文章:

asp.net-mvc - MVC 中跨 Controller 的 session 变为 null

html - 如何对齐网页的 Bootstrap 面板中心?

asp.net - ASP.net MVC 中的 ASP.net AJAX 有什么意义?

jquery - 我们如何从 web.config 中使用 jquery 读取或获取 session 超时,以便我们可以在 mvc 中处理 session 过期

.net - 如何识别网络接口(interface)是 LAN、Wifi 还是外部

c# - 在 JSON 通用属性序列化中包含类名

asp.net-mvc - Html.Dropdown 的 Html 属性

c# - 如何从CRM外部的应用程序中的SQL Server获取选项集值

c# - 未调用 OWIN web api CancellationToken

c# - 在 Web API 中序列化动态类型