問題タブ [asp.net-apicontroller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1317 参照

asp.net-mvc - ASP.NET WebApi コントローラーでの User.Identity のモック

ASP.NET WebApi ApiControllers の User.Identity [単体テスト用] をどのようにモックできますか?

ノート:

コントローラー メソッドの戻り値の一部はaync [Task]、別のスレッドで実行されます。

0 投票する
1 に答える
1265 参照

c# - JSONデータをWeb API ApiControllerメソッドに受け取る方法は?

JSON データを受け取るいくつかの PUT メソッドを使用して Web API ApiController を作成しています。JSON は決定論的ではないため、カスタム C# オブジェクトにハードマップすることはできませんが、辞書/シーケンス (マップ/リスト) として受け取る必要があります。

コントローラーの PUT メソッドのデータ パラメーターに IDictionary を使用してみましたが、この種の作業は、データが JSON から辞書にマップされているように見えます。ただし、ディクショナリを として宣言する必要が<String,Object>あり、オブジェクトの値を適切な型として取得する明確な方法はありません。(検索でいくつかの提案されたクルーゲを見つけましたが、それらはそれだけです。)

System.Json.JsonObject タイプもあり、最終的に NuGet 経由でロードできましたが、それを使用すると、システムはデータのマッピング方法を認識していないようです。

これは通常どのように行われますか? 一般的な JSON を受け取る ApiController メソッドをどのように実装しますか?

3 つの基本的なアプローチを見ることができます。

  1. どういうわけか、ディクショナリ/シーケンスをオブジェクトなどで機能させます。
  2. おそらくルーティング情報を入れ替えて、System.Json.JsonObject のようなものを機能させます。
  3. JSON をバイト配列として受け取り、利用可能な C# JSON ツールキットのいずれかを使用して明示的に解析します。

(データがどの程度動的であるかに関しては、JSON オブジェクトにはエントリが欠落しているか無関係なエントリがある可能性があり、場合によっては、特定のエントリが単一の JSON 値または値の JSON 配列として表されることがあります。(「値」は JSON 配列です) 、オブジェクト、文字列、数値、ブール値、または null.) 一般に、配列/非配列のあいまいさを除いて、キーと値の型の間の関係は既知です。)

(ただし、これは大規模なプロジェクトであり、他の作成者によって他のいくつかのコンポーネントから JSON 文字列を受信することに注意してください。受信した型を調べて、それが期待どおりであることをアサートできることは非常に便利であり、必要になることさえあります。セキュリティの観点から。)

(私はC#の比較的初心者であることを付け加えておく必要があります-約6か月しか使用していません。)

0 投票する
2 に答える
1176 参照

asp.net-mvc-4 - apicontroller から kendo-ui グリッドをバインドする

Kendo-ui JQuery バージョンを使用しており、ApiController から kendo-ui グリッドを埋めようとしています。グリッドが空のままです...何が欠けていますか?

これが私の ApiController の結果です: ~/api/Countries :

これが私のApiControllerコードです:

ここに私のcshtmlコードがあります:

ご協力いただきありがとうございます。

0 投票する
1 に答える
112 参照

c# - C# コントローラーが ApiController に変更された場合のバックボーン 404 エラー

.Net と backbone.js を学習しようとしています。私は非常に単純なプロジェクトに取り組んでいます。すべての受信者を一覧表示し、アドレスなどを更新するためのものです。データベースから受信者のリストを取得する RecipientsController があります。これがコントローラーです。

これは正常に機能します。私のバックボーン アプリは JSON を受け取ることができ、正しく表示されます。しかし、編集(PUT)を機能させることができませんでした。それで、私はそれについてググって、コントローラーの代わりに ApiController を使用したチュートリアルに出くわしました。やってみることにしたので、コントローラーを ApiController に変更しました。

ApiController を試すと、バックボーンで 404 エラーが発生します。理由がわかりません。

これは私の

2 つのビュー (インデックスと受信者) があり、どちらもビュー/ホームの下にあります。これは私のActionLinkです:

ここで、ApiController を使用して、ActionLink を Home から Recipients に、Recipients を GetRecipients に変更し、View (Recipients) を Home の下から新しいフォルダ Recipients に移動すると、機能しますが、バックボーン ビューは使用されません。私は本当に混乱しています。私が理解できるように、誰かが私のためにこれを説明してもらえますか? 私は学習しているので、オンラインで見つけた説明のいくつかを理解するのに苦労しました (私には高度すぎました)。

前もって感謝します。

編集:

これが私のルートです:

0 投票する
1 に答える
1427 参照

c# - 同じプロジェクトで MVC と API のルートを構成する

既存の API プロジェクトを別の既存の MVC プロジェクトにマージしました。API コントローラーは MVC コントローラーと同じ名前ですが、2 つの異なる名前空間 (それぞれ MyApp.Web.MyController と MyApp.API.MyController) にあります。

さて、APIコントローラーにアクセスできるようにルートを構成する方法がよくわかりません:(

私はこの投稿を読みました: Mixing Web Api and ASP.Net MVC Pages in One Projectで @Mike Wasson が提案したことを達成したいのですが、ルートを構成する方法がわかりません。

これは私が現在 RouteConfig.cs に持っているものです:

0 投票する
1 に答える
1415 参照

asp.net-mvc - Web API ルーティング - URI パラメーターを持つアクションのみが機能します

正常に動作する Web API プロジェクトがありました。これを MVC プロジェクトにマージしたところ、URI パラメーターを持つアクションのみが機能するようになりました。他のすべてのアクションは、コントローラーでさえ見つからない 404 Not Found で終了します。

これが私が WebApiConfig に持っているものです(標準のもの):

コントローラークラスは次のとおりです。

動作するアクションは次のとおりです。

これは機能しないものです(独自のプロジェクトにあったときに機能していました):

何が悪いのかわかりません。ご協力いただきありがとうございます!

0 投票する
3 に答える
2692 参照

c# - リクエスト URI に一致するアクションが見つかりませんでした

パラメータの 1 つをパイプで区切られた文字列として渡せるようにすることで、複数の予約を作成できるように、API コントローラの 1 つを変更しようとしました。メソッドとクラスは次の場所で確認できます。

正しい情報であると思われるものを投稿するフォームがありますが、次のエラーが発生し続けます。

API の (変更された) save メソッドは、間違いなくまだ進行中の作業です。しかし、これが Web API コントローラーを見つけるのを妨げているのは何ですか? ファイアバグの出力は次のとおりです。

ここに画像の説明を入力

0 投票する
4 に答える
36285 参照

asp.net-mvc - タイプ「TypeNewsController」のコントローラーを作成しようとしたときにエラーが発生しました

私は長く懸命に検索しましたが、まだ役立つものは何も見つかりませんでした. どこが間違っていますか?私は本当に何をすべきかわかりません。以下にすべての詳細を書きました。私は試しましたが、成功しませんでした。

タイプ 'TypeNewsController' のコントローラーを作成しようとしたときにエラーが発生しました。コントローラーにパラメーターなしのパブリック コンストラクターがあることを確認します。

私のapicontroller:

エラー :

ブートストラップ クラス:

アップデート :

0 投票する
1 に答える
412 参照

c# - Breeze の問題: null 複合型が新しい空のオブジェクトに設定される

私は Durandal プロジェクトで作業しており、Breeze オブジェクトを使用しています。

いくつかの複合型を含む微風モデルがあります。

サーバー側では、複合型のプロパティの一部を null に設定しました。

しかし、オブジェクトがクライアント側に到着すると、null に設定した複合型には複合型のオブジェクトへの参照が含まれます。null にする必要があります。

私の主なモデルパターン:

サーバー側コード(C#、apiController を使用):

条件が真のときにそれが欲しいので、クライアント側で employeeData.employeeJobsData() - nullを返します。実は、そよ風の複雑なエンティティを返します。

ありがとう!