2

パラメータの配列リストを持つPOSTリクエストを持つXamarinアプリケーションがあり、MVC WEB APIには最初のEntityフレームワークを使用しました。どちらも分離されたプロジェクトソリューション(.sln)でした。MVC Web APIの配列パラメータを使用したPostAsyncリクエスト

私のXamarinプロジェクトでは、配列値のリストを提供するPostAsyncリクエストがあります。

using (var client = new HttpClient()) 
     { 
      Parameter = string.Format("type={0}&param={1}",type, param[]); 

      var data = JsonConvert.SerializeObject(parameters); 
      var content = new StringContent(data, Encoding.UTF8, "application/json"); 
      using (var response = await client.PostAsync(url, content)) 
      { 
       using (var responseContent = response.Content) 
       { 
        result = await responseContent.ReadAsStringAsync(); 
       } 
      } 
     } 

私のWeb APIコントローラでは、クライアント側でも同じパラメータが使用されています。

[System.Web.Http.AcceptVerbs("GET", "POST")] 
    [System.Web.Http.HttpPost] 
    [Route("type={type}&param={param}")] 
    public BasicResponse applog([FromUri] ProfilingType type , List<string> param) 
    { 
     if (ModelState.IsValid == false) 
     { 
      throw new ModelValidationException("Model state is invalid."); 
     } 

     try 
     { 
      if(type == ProfilingType.Login) 
      { 
       var command = new SendDataProfilingCommand(param); 
       CommandHandler.Execute(command); 
      } 
      else 
      { 
       var command = new UpdateDataProfilingCommand(type,param); 
       CommandHandler.Execute(command); 
      } 

     } 
     catch (Exception e) 
     { 
      throw new Exception(e.Message); 
     } 
     return new BasicResponse 
     { 
      Status = true, 
      Message = Ok().ToString() 
     }; 
    } 

私はAPIではないよので、私はポストマンに、あるいはURLに最初にそれをテストしたいです。しかし、私の問題は、私は、

http://localhost:59828/api/users/applog?type=1&param=[1,Caloocan,Metroマニラ、フィリピンの下にこのURLを使用してテストしてみたときに

0,0]

が、私はこのメッセージを受け取った:いいえHTTPリソースが要求URIに一致する見つからなかった.... ..

私の質問は、URLまたは郵便配達員のリストパラメータでWeb APIをテストするにはどうすればいいですか? Xamarin PostAsyncリクエストに投稿リクエストを送信するときに使用できる形式

+1

の可能性のある重複した[ASP.NETのWeb APIへの整数の配列を渡す方法?](https://stackoverflow.com/questions/9981330/how-to-pass-an-array-of-整数 - asp-net-web-api) – Igor

+0

重複するリンクを参照してください。配列のURLを間違って作成しています。 – Igor

答えて

0

コンテンツとして送信する必要はありません。

using (var client = new HttpClient()) 
    { 
     Parameter = string.Format("type={0}&param={1}",type, param[]); 

     url = url + "?" + Parameter; 

     using (var response = await client.PostAsync(url)) 
     { 
      using (var responseContent = response.Content) 
      { 
       result = await responseContent.ReadAsStringAsync(); 
      } 
     } 
    } 
関連する問題