2017-01-12 3 views
0

こんにちは私はrestfull web apiアプリケーションを開発しています。データをデータベースに挿入した後、成功すると0、エラーが1、ユーザに割り当てられた一意のIDとしてデータが返されます。私はjson形式でデータの上に戻りたい。私の要件は、私はjson形式でコントローラにデータを送信し、json形式でデータを受け取る必要があります。私は次のコードを持っていますが、それは働いていますが、私はここにいくつかの点を求めたいと思います。 以下は私のUser_Creationコントローラコードです。Web Apiコントローラからデータを返す方法は?

public result Post(Noor_Users users) 
     { 
      result obj = new result(); 
       if (ModelState.IsValid) 
       { 
        entityObject.Noor_Users.Add(users); 
        int result = entityObject.SaveChanges(); 
        if(result==1) 
        { 
         obj.success = 0; 
         obj.id = 5; 
         return obj; 
        } 
        else 
        { 
         obj.error = 1; 
         return obj; 
        } 
       } 
       else 
       { 
        obj.error = 1; 
        return obj; 
       } 
      } 
} 

私のservice.jsファイルには、以下のコードが含まれています。

app.service("UserCreation", function ($http) { 
    this.saveSubscriber = function (sub) { 
     return $http({ 
      method: 'post', 
      data: JSON.stringify(sub), 
      url: 'api/User_Creation', 
      contentType: "application/json" 
     }); 
    } 
}); 

これは私のcontroller.jsコードです。

app.controller('UserCreation', function ($scope, UserCreation) { 

    $scope.saveSubs = function() { 
     var sub = { 
      user_email: $scope.user_email, 
      user_password: $scope.user_password, 
     }; 
     var saveSubs = UserCreation.saveSubscriber(sub); 
     saveSubs.then(function (data) { 
      alert(JSON.stringify(data.data)); 
     }, function (error) { 
      console.log('Oops! Something went wrong while saving the data.') 
     }) 
    }; 
}); 

私は以下のようにjson形式の応答を期待しています。

●ステータス - 成功の場合は0、失敗の場合は1。 ●データ ○ID - ユーザに割り当てられた一意のID ●エラー - エラーが発生した場合のエラーメッセージ

これは完全に機能しています。私はwebapiconfig.csファイルの下にコード行を持っています

config.Formatters.JsonFormatter.SupportedMediaTypes 
    .Add(new System.Net.Http.Headers.MediaTypeHeaderValue("text/html")); 

この行のコードでは、いつもjson形式でデータを受け取ることができます。しかし、angularjs成功の呼び出しで私は受信したデータを文字列化する必要があります。私のすべてのデータがjsonで返ってきたら、なぜ私はそれをjsonに変換すべきですか?また、誰かが私のロジック上のデータを返す良い練習であることを教えることができますか?ありがとうございました。

答えて

0

は、以下の手順を試してください:

  1. はあなたのWebApiConfig.csの上にあなたが1

    public IHttpActionResult Post(Noor_Users users) 
    { 
        result obj = new result(); 
        if (ModelState.IsValid) 
        { 
         entityObject.Noor_Users.Add(users); 
         int result = entityObject.SaveChanges(); 
         if (result == 1) 
         { 
          obj.success = 0; 
          obj.id = 5; 
         } 
         else 
         { 
          obj.error = 1; 
         } 
        } 
        else 
        { 
         obj.error = 1; 
        } 
    
        return Ok(obj); 
    } 
    
  2. 以下でアクションをコントローラ

    public static void Register(HttpConfiguration config) 
    { 
        config.Formatters.Clear(); 
        config.Formatters.Add(new JsonMediaTypeFormatter()); 
    
  3. 編集をこのコードの2行を追加します。

+0

ありがとうございます。まだ私は下のコード行を持っている必要がありますか? JSON.stringify(data.data) –

+0

上記のコードを書いています。それでも私はjson.stringifyを書いていなければ成功しています。私は[オブジェクトオブジェクト]を取得しています。だから、私のデータがどのフォーマットで返ってくるのか混乱していますか? –

+0

たとえば、GETの項目のリストを返す場合は、どうすればIHttpActionResultを返すことができますか? –

関連する問題