是否可以让Web服务接受没有内容类型标头的json格式化请求?
当我传递Content-type:application / json标头时,POST动词效果很好。如果停止,则抛出400错误。我在这里经历了很多问题,问他们为什么要回400,答案就是内容类型。那么在服务器端可以代表用户“填写”吗?
答案 0 :(得分:0)
使用默认的.NET webstack无法使用某种内容标头来告诉它如何解释请求。如果你想进入ASP.NET堆栈的内部(你可以使用反射器应用程序,如ILSpy),你可能会找到一个拦截点,但你很可能必须做一些自定义的IIS集成来获得模块拦截请求,甚至可能在ASP.NET堆栈涉及之前。
对于大多数人来说,让JSON请求应用程序引入标题会更容易。
此外,我鼓励您开始学习如何使用Reflector来探索这些堆栈是如何工作的,它们实际上是复杂的,大而且可扩展的,代价是工程化(秃头猜测现在说缺乏经验的IIS开发人员需要大约50个小时来设计这种技术,如果它可以整齐地完成)。
答案 1 :(得分:0)
您使用的是WebAPI还是ASP.NET MVC?我有一个解决方案,虽然有些人可能会对我尖叫。
希望有所帮助。
P.S。使用JSON.Net,它有很多有用的反序列化方法,这将使这变得轻而易举。