MVCとWEBAPIはgetとpostパスパラメータ。https://blog.csdn.net/qq373591361/article/details/51508806転載

免責事項:この記事はブロガーオリジナル記事ですが、許可ブロガーなく再生してはなりません。https://blog.csdn.net/qq373591361/article/details/51508806
我々は、サーバーに大量の参加方法JS要求をまとめます。

実施形態は、取得
主に一般パラメータなし、パラメータ、複数のパラメータ、パラメータ・エンティティ・オブジェクトに分け、照会に慣れます。

1、无参
//取得没有参数
VAR get_f1 =機能(){
$アヤックス({
タイプは、 "get"、
URL: "/ API /デモ"、
成功:機能(データ、ステータス){
場合(状態== "成功"){
$( "#1 div_test")HTML(データ);
}
}
})。
}
2、一个参数
//取得一个参数
VAR get_f2 =機能(){
$アヤックス({
タイプは、 "get"、
URL: "/ API /デモ"、
データ:{strQuery:JSON.stringify({ID: " 1" 、名称: "ジム"、CREATETIME: "1988年9月11日"})}
のcontentType: "アプリケーション/ JSON"、
成功:関数(データ、ステータス){
IF(ステータス== "成功"){
$ ( "#div_test")。HTML(データ)。
}
}
})。
}
バックグラウンド制御方法
/// <要約>
///パラメータ
/// </要約>
/// <PARAM NAME = "strQuery"> </ PARAM>
/// <戻り値> </戻り>
[HTTPGET]
パブリック(文字列strQuery)取得文字列
{
遠位端は、文字列の上に渡された場合、// timeパラメータには、オブジェクトにデシリアライズJSONことができます。
Newtonsoft.Json.JsonConvert.DeserializeObject TbCharging ODATA = // <TbCharging>(strQuery);
// String.Formatのを返す( "{0}、{1}、{2}、{} 3。"、oData.Id、ODATA。名前、oData.Des、oData.CreateTime.ToString( "MM-DD-YYYYのHH:MM:SS"));
リターン"パラメータ" + strQuery;
}

注:私たちは、URLにパラメータを置くことができるように、私はいくつかの統一フロントデスクを書くためにここにいるなさい、内部の上のすべてのデータが、少し格好良い感じ。
3、複数のパラメータ
//パラメータを複数取得
するvar get_f3 =機能(){
$アヤックス({
タイプ: "GET"、
URL: "/ API /デモ"、
データ:{ID: "1" 、名称:"ジム"CREATETIME:" 1988年9月11日"}、
成功:機能(データ、ステータス){
IF(ステータス=="成功"){
$(" #のdiv_test「)HTML(データ);.
}
}
}) ;
}
バックグラウンド制御方法
/// <まとめ>
パラメータの///複数
/// </要約>
/// <PARAM NAME = "ID"> </ PARAM>
/// <PARAM NAME = "名前" > </ param>の
/// <PARAM NAME = "CREATETIME"> </ param>の
/// <


{
(ID、名前、CreateTime.ToString( "YYYY-MM-DD HH:MM:SS"を"{0}、{1}、{2}、参数多个"))String.Formatのを返します。
}

4は、固体のオブジェクトパラメータ
//がパラメータとして物理的なオブジェクトを取得
するvar get_f4 =機能(){
$アヤックス({
タイプ: "GET"、
URL: "/ API /デモ/ getModel"、
データ:{ID:」1" 。名前: "ジム"、CREATETIME: "1988年9月11日"}、
成功:機能(データ、ステータス){
IF(ステータス== "成功"){
$( "#div_test")HTML(データ);.
}
}
});
}

注:二つの内部同じコントローラを受信する方法であって、それは、経路は、処理方法を一致させることである区別しないで書かれている場合、複数のパラメータと物理的オブジェクトのメソッドへのディスカバリ要求がないことは、同じである
とそうカスタムルートは役に立たないですWEBAPIを変更するメソッドの名前で、区別するために使用します。

バックグラウンド制御方法
/// <要約>
///エンティティオブジェクトパラメータ
/// </要約>
/// <PARAM NAME = "ODATA"> </ PARAM>
/// <戻り値> </戻り>
[ HTTPGET]
[ルート( "getModel")]
パブリック文字列を取得([FromUri] ODATAをTbCharging)
{
String.Formatの(戻る"エンティティ・オブジェクト・パラメータを{0}、{1} 、{2}、{3}"、ODATA .ID、oData.Name、oData.Des、oData.CreateTime.ToString( "MM-DD-YYYYのHH:MM:SS"));
}

Getメソッドの時間パラメータがURLに書かれているので、注意を払うようにエンティティを渡すのGetオブジェクトパラメータを使用している場合、私たちはバックグラウンド[FromBody]を得ることができない物理的なパラメータは、[FromUri]仕事を記述する必要が使用します。注意してください。
ポストやり方
我々は、変更操作を、追加、削除を行うために使用後の一般的な方法。WEBAPIではポストは、増加を作る入れて、変更、削除を削除するために使用されます。これらの新しいテンプレートは、自動的に私たちのために時間を生成します。

また、必要に応じて複数のパラメータは、我々はオブジェクトとして渡す拡張オブジェクトにそれらを結合する必要があるときポストのみ、パラメータを渡すことができることは言うまでも。

我々は、パラメータが道の内側ポストのURLに含まれていないので、[FromBody]内の引数のリストに書き込むために必要な背景を受けたとき。

1、パラメータ
//ポストパラメータ
のvar post_f1 =機能(){
$アヤックス({
タイプ: "POST"、
URL: "/ API /デモ"、
データ:{ "": "ジム"}、
//データ: "=ジム"、書き込み用//二つの方法は、書き込みを他の値が得られていない
成功を:機能(データ、ステータス){
IF(ステータス== "成功"){
$( "#のdiv_test")HTML(データ);.
}
}
});
}

注意:我々は、データを書き込むことができない引数のパラメータを書き込む場合:{「名」:「ジム」}このように、バックグラウンドで値を取得しているため。

状態){ 場合(状態== "成功"){ 。$( "#のdiv_test")HTML(データ); }






















}
});
}
バックグラウンド制御方法
/// <要約>
///オブジェクト
/// </要約>
/// <PARAM NAME = "ODATA"> </ PARAM>
/// </ <返し>戻り値>
[HttpPost]
[ルート( "PostAdd")]
パブリックオブジェクト・ポスト([FromBody] TbCharging ODATA)
{
VAR = STRNAME String.Formatの( "オブジェクト、{0}、{1} "、oData.Id、ODATA。 名前);
STRNAMEを返す;
}
注:ライト値を得ることができないときにこのパラメータ・リストは、好ましくは、[FromBody]に書かれています。
3、配列パラメータを
パラメータとして//ポストアレイ
のvar post_f3 =関数(){
VAR ARR = [ "2"、 "3"、 "4" 、" 1" ];
$アヤックス({
タイプ: "POST"、
URL: "/ API /デモ/ PostArray"、


成功:機能(データ、ステータス){
IF(ステータス== "成功"){
。$( "#のdiv_test")HTML(データが);
}
}
});
}
ここではcontentTypeのとデータ型について話しています。
contentTypeの

サーバは、エンコードタイプにコンテンツ情報を送信します。あなたが書いていない場合、デフォルトは次のとおりです。 "アプリケーション/ x-www-form-urlencodedで"。

データ・タイプ

サーバから返された期待されるデータ型。

「アプリケーション/ JSON」:我々はJSONパラメータを投稿する場合は提出され、それはcontentTypeのを書くのがベストです

} ]。$アヤックス({ タイプ: "ポスト"、





















URL: "/ API /デモ/ PostMulti"、// 複数のポストルートが一致し、そうではないだろうカスタムルーティング
のcontentType: 'ファイルアプリケーション/ JSON'、
データ:JSON.stringify(ARR)、
成功:機能(データ、ステータス){
IF(ステータス== "成功"){
$( "#1 div_test")HTML(データ);.
}
}
});
}
制御方法背景
/// <要約>
///オブジェクトセット
/// </要約>
/// <PARAM NAME = "lstCharging"> </ param>の
/// <戻り値> </戻り値>
[HttpPost]
[ルート( "PostMulti")]
パブリックオブジェクト・ポスト([FromBody ]リスト<TbCharging> lstCharging)
{
(String.Formatのを返す、lstCharging [0] .nameの、lstCharging [1] .nameの) "{0}、{} 1。"。
}
カスタムルーティング
を使用する:メソッドのオーバーロード、メソッド名を無視し、URLのカスタマイズ

これらの手順を実行します。

図1に示すように、コントローラクラスマーカーかけて添加した
[RoutePrefix( "API /デモ")]
ApiController:パブリッククラスDemoController
{}

2、ルーティングタグ付加処理
/// <まとめ>
パラメータとして///アレイ
/// </要約>
/// <PARAM NAME = "IDS"> </ PARAM>
/// <戻り値> </戻り値>
[HttpPost]
[ルート( "PostArray")]
パブリックオブジェクト・ポスト([FromBody]文字列[] IDS)
{
(String.Formatのを返す"{0}、{1}、{2}"、IDS [0]、 IDS、IDS [2])[1];
}

注:上記のAPI /デモとPostArrayは、自分の名前を定義することができます。「/ API /デモ/ PostArray」へのアクセス:私のような人は、URLを直接書き込むことができます。
---------------------
著者:qq373591361の
出典:CSDN
オリジナルます。https://blog.csdn.net/qq373591361/article/details/51508806
免責事項:この記事ブロガーのオリジナルの記事、複製など、ボーエンのリンクを添付してください!

おすすめ

転載: www.cnblogs.com/Jeely/p/10958851.html