MVC + WEBAPI +のRestful

安らかな4つのキーワードは、キーとなる、削除、入れて、ポストをゲット!


 

WEBAPI、MVCパターンを作成します。

ウェブで、設定ファイルをルーティングするファイルはありませんが、注意を払います。

デフォルトコントローラにおけるデフォルトでは、私はすぐに何かを与えるために何、それはデフォルトを持つべきではないAPIのために、追加されます。

デフォルトコントローラのValueControllerがあります。

取得取得取得取得取得取得取得取得取得取得取得取得取得取得取得取得取得取得取得取得取得取得取得取得取得取得取得

パスパラメータは誰を呼び出すように決定するかどうかに応じて法のないパラメータとパラメータは、ありません。

 

モデルは、クラスで生徒を建て

新しいコントローラの学生を作成します。

コントローラは、生徒データオブジェクトのJSON形式を返します/ API /学生へのアクセスは、非常に簡単です。

アクションの追加

/ API /学生/ 7このメソッドを呼び出し、このようなアクセス。ルーティング設定ファイルはルールIDで書かれているので、私は年齢を変更した場合は、なぜあなたは、このIDを検索します

 

 メソッドのパラメータ名を取得します。また、年齢に変更

両側が同意しない場合、このメソッドはまだ見つけることができ、その後、途中で要求を取得する必要はありません。

あなたは、API /学生が必要、このメソッドへのアクセスをしたいですか?名前=こんにちはそう要求

複数のパラメータは、あなたが累積パラメータを持つことができます

API /学生?名前=&ハロー年齢= 4に対応 

 Getメソッドのそれぞれはヘビーデューティーは、ヘビーデューティがルールに注意を払う必要があることに留意すべきです。

あまりにも文字通り、それは非常に直感的ではないではないです各メソッド呼び出し?ない場合。

CAN / API /学生?アドレス=北京中国今回の訪問

アクション名のgetAddress、だけでなく、通常の状態にアクセスするには、指示する、アクションは、文字列ああを「取得」、集中しました!

私が最初に考えていない、引数が入るん

使用/ API /学生はまだアクセスすることができます。

 

 


 役職

基本的には同じ、コントローラはポストを書きます

  公共の 文字列ポスト(学生学生)
        { 
            返す  student.Nameを。
        }

容易にAJAXシミュレーションポストに提出し、HTMLページを書きます

<身体> 


    の<script> 
        $アヤックス({ 
            URL:" / API /学生アドレス=地址?" 
            種類:" 取得" 
        })。済(機能(データ){ 
            警告(データ); 
            })

        $アヤックス({ 
            URL:" / API /学生" 
            種類:" ポスト" 
            データ:{ 
                イド:1 
                名称:" 张三" 
                グレード:6
            } 
        })完了(関数(データ){ 
                アラート(データ); 
            。})失敗(関数(ERR){ 
                アラート(" 失败了" ); 
            })
     </ SCRIPT> 
</ BODY>

これは通常、このアクションへのアクセスを持っているでしょう

 


プット

コントローラ

公共の 文字列を入れてください(int型ID、学生の学生)
        { 
            リターン " イド:" + ID + " 学生:" + student.Name + " - " + student.Id。
        }

両方のint型の参加は、別の生徒がそれを要求したか、オブジェクト?

$のアヤックス({ 
            URL:" / API /学生/ 13 " 
            種類:" 置く" 
            データ:{ 
                イド:1 
                名称:" 张三" 
                グレード:6 
            } 
        })。完了(関数(データ){ 
            アラート(データ); 
        。})失敗(関数(ERR){ 
            アラート(" 失败了" ); 
        })

学生はintオブジェクトに同じ名前のIDと、Idは、区別することができたとしても、各チューブ、非常にシンプル。

出力イド:13、学生:張-1

私たちが名にパラメータを追加した場合、置きます

URL: "/ API /学生/ 13" 
 URL: "?/ API /学生/ 13名=ジョン・ドウ"、ライン上のようにします。

 


 

削除

上記で、私は別の何も言わないことはありません。

 


こうしたログインとして、RESTfulなスタイルは、すべてのシナリオ、いくつかのケースでは、ビジネスロジックには適していません、あなたが使用することは容易ではないです方法の種類を見つけることに注意してください、あなたはそれをGETまたはPOSTを使用言いますか?

だから、私たちは安らかなスタイルを行っていない、ルーティングルールを再定義することができます。

新しいコントローラユーザーを書きます

[RoutePrefix(" API /ユーザ" )]
     パブリック クラスUserControllerで:ApiController 
    { 
        [HttpPost] 
        [ルート(" ログイン" )]
         パブリック 文字列ログイン(学生学生)
        { 
            リターン " 登录" 
        } 
    }
[RoutePrefixは(「API /ユーザ」)]全ユーザアクセス制御の形式を定義するために使用されます。
[ルート(「ログイン」)]アクションの定義である
、ここでは、のように書くこともできます
[ルート(「API /ユーザー/ログイン」)]、コントローラは書き込むことができない外層ように。
 [HttpPost]ログイン自体はRESTfulなスタイルのいずれかの種類に属していないので、私は唯一の指定されたコールを投稿することができますので。
 

おすすめ

転載: www.cnblogs.com/luyShare/p/11386281.html