2017-02-22 34 views
0

我一直在試圖擴展我的帳戶控制器以適應我的web api,但是我似乎無法獲得新的操作。我只想要一個取得字符串的動作。所以我寫了我的動作是這樣的:創建新操作的Web API總是會導致404錯誤

更新:如果我刪除了參數(字符串VAL)這個動作現在的工作=()

[AllowAnonymous] 
    [Route("Stuff")] 
    public IHttpActionResult Stuff(String val) 
    { 


     return Ok(); 
    } 

然後在我的AngularJS我寫了一個函數來調用到我的行動

function storeConnID (event, data){ 
     return $http({ 
      url: State.Endpoint + "/api/account/stuff", 
      method: "POST", 
      headers: { 
       'Authorization' : 'Bearer '+ State.User.Access_Token 
      }, 
      data: { 
       val: data 
      } 
     }).then(function (res) { }, function (err) { 
      console.log(err); 
     }); 
    }; 

它是所有格式化後的URL是這樣:

https://localhost:44375/api/account/stuff

我的控制器中的其他任何操作都可以工作,但是我無法創建新的操作?

+0

[將JSON字符串發佈到WEB API]可能重複(http://stackoverflow.com/questions/36567136/post-json-string-to-web-api) – Igor

+0

重複提供了一個很好的解決方案,但是我喜歡我的更多。 –

回答

0

續研究:

JavaScript並不是簡單地發送一個字符串,它發送一個JSON對象以鍵/值對。當我正在查找字符串時,web api操作不理解此對象。

我提出的解決方案:

[AllowAnonymous] 
    [Route("Stuff")] 
    public IHttpActionResult Stuff(Dynamic Data) 
    { 


     return Ok(); 
    } 

通過改變輸入到動態類型的數據可以來自任何形式的對象。