我的客户具有我需要遵守的特定API设计。我使用WEB API代码托管的逻辑允许客户对我系统上存在的资源进行简单的更改(更改,删除等)。
界面非常简单:
public IHttpActionResult Post(OpRequest opRequest)
public class OpRequest
{
public string op { get; set; }
public string data { get; set; }
}
根据“op”的值,我解析“data”以完成操作。
我的问题与其请求中的Content-type标头有关。它们根本不发送Content-Type标头,但是对于某些请求和“application / json”,它们POST的实际数据是“application / x-www-form-urlencoded”。其他要求。发送urlencoded时工作正常,但在发送JSON时抛出“415不支持的媒体”错误。
我的想法是我需要拦截他们的请求,检测内容类型并在它达到我的逻辑之前设置它,但我不确定如何做到这一点。我必须使用单个操作来容纳所有内容类型。这可能吗?