monoでASP.NET APIがMissing Methodを吐く
単純に言っちゃうとHttpRequestBaseにGetBufferedInputStreamがない。 Mono 4.3.x系を入れると問題が解決するようだがMono 4.2.xでどうやって対応するか。 今回はPostハンドラをクイックハックした。 #if MONO public string Post() { var buffer = HttpContext.Current.Request.BinaryRead(HttpContext.Current.Request.ContentLength); var jsonStr = System.Text.Encoding.ASCII.GetString(buffer); T parsed = JsonConvert.DeserializeObject<T>(jsonStr); #else public string Post([FromBody]T parsed) { #endif