這是控制器內(nèi)的操作[HttpGet][Route("show_many")][ArrayInput("ids", Separator = ',')]public async Task<HttpResponseMessage> GetByIds(int[] ids){}執(zhí)行似乎未到達(dá) ArrayInput 或 GetByIds 方法。我相信 int 數(shù)組作為參數(shù)導(dǎo)致了這個問題。當(dāng)我執(zhí)行基本的郵遞員請求時,一切正常。我通過 HttpClient 從 SDK 調(diào)用此端點。我還嘗試在客戶端標(biāo)頭中設(shè)置內(nèi)容類型,例如client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));但這也沒有幫助。Uri 看起來像http://example.com/show_many?ids=1,2,3這里有什么問題?更新我注意到這個錯誤發(fā)生在 Microsofot.AspNet.WebApi 5.2.7 中,但沒有發(fā)生在 5.2.3 中。此外,我注意到 client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); 僅創(chuàng)建 Accept 標(biāo)頭,而不創(chuàng)建 Content-Type。Content-type 應(yīng)該是響應(yīng)標(biāo)頭,但不幸的是,僅將 content-type 添加到請求標(biāo)頭實際上繞過了此問題(在郵遞員中)。
在 Web api 中使用數(shù)組作為參數(shù)時出現(xiàn)不支持的媒體類型錯誤?
30秒到達(dá)戰(zhàn)場
2023-06-25 13:48:38