2017-02-22 3 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(); 
    } 

データは、オブジェクトの任意の形態のように来ることができるダイナミック型への入力を変えることにより。

関連する問題