有沒有人找到正確的解決方案? 我剛剛嘗試過WebAPI,希望很大(在完成成功實現其他api的php/restler後,使用KO和HTML5)。獲取像魅力一樣工作。無論總是我的變量爲空,在過去的20多個小時內都陷入了帖子中。無論如何,我的DTO和存儲庫實現都是我的框架的一部分。 我嘗試使用FromBody提示和幾乎所有可用的搜索。 我正在測試這個使用CRest和提琴手。 我很擅長獲取原始request.content,然後將自己處理json加載等。 這一點我只是感到沮喪,並考慮回到4.0並使用wcf再次生成ResT。 任何幫助將非常感激......Web API Post參數始終爲空
DTO:
public class TestEntity
{
public TestEntity() { }
public int UserId { get; set; }
public string UserName { get; set; }
}
控制器: 公共類的TestController:ApiController
{
// POST api/test
public TestEntity PostTest([FromBody] TestEntity t)
{
var x = new TestEntity();
if (!this.ModelState.IsValid)
{
return x;
}
else
{
return x;
}
}
我調用直通CREST ....
顯示一些代碼... – Cybermaxs
通過提琴手使用你的代碼,並調用它與XML和JSON爲我工作。您可以通過向控制器添加一個GET方法來排除路由問題,該方法返回TestEntity和一些測試數據並調用它。如果可行,請將它返回的數據作爲POST請求主體複製到Fiddler中,並查看是否被填充。這將排除序列化問題。如果仍然失敗,請嘗試發佈完整控制器代碼,以及您在Fiddler中輸入的URL和數據以進行測試。 – smlync
在拉琴,我得到: {「ExceptionType」:「System.InvalidOperationException」,「消息」:「沒有MediaTypeFormatter可從與‘未定義‘’媒體類型’內容讀類型‘TestEntity’的對象。」」堆棧跟蹤「:」 當我在波峯運行它真正去運行特定的方法(我可以調試)和參數的時值爲null – rahul