読者です 読者をやめる 読者になる 読者になる

miso_soup3 Blog

主に ASP.NET 関連について書いています。

ASP.NET Web API OData で enum はどのように表現されるか

ASP.NET Web API OData で、enum の値や定義はどのように表現されるか確認しました。 結果は、出力の方はもちろんどちらも可能で、enum の定義(とある enum はどのような列挙子をもつか)は、v4 では対応しているようでした。Getting started with ASP.NET …

ASP.NET HttpResponse.Cookies.Add で HttpRequest.Cookies にも反映される件

ASP.NET MVC 上で、Cookie を Response(System.Web.HttpResponseBase) に追加した後、Request(System.Web.HttpRequestBase) の Cookie にもその値が追加されます。アクションメソッドのサンプルコードです。 using System.Diagnostics; using System.Web…

ASP.NET Web API クッキーのエンコードについて

stackoverflow - WebAPI encoding cookie valuesASP.NET MVC ではクッキーの取得・設定時に、値のエンコード/デコードは行われませんが、 ASP.NET Web API の場合は、URL エンコード/デコードが行われます。 ASP.NET Web API ASP.NET Web API におけるクッ…

ASP.NET Web API クエリの文字列の配列を取得

/one?value=1&value=2&value=3のような URL でリクエストがきた場合に、クエリ文字列の同じキーの値を配列として取得する方法。 ASP.NET Web API にて ApiController の Request プロパティからクエリ文字列を取得する アクションメソッドの引数にバインドさ…

ASP.NET Web API で クラスを定義せずに POST された Body 値を取得する

クラスを定義することが面倒な場合、JToken や dynamic で POST の Body 値を受け取ることができる。以下のような HTTP Request を送信し、JSON で書かれた Body 値を読み取るとする。 Content-Type : application/json Body : { "name" : "taro", "message"…

ASP.NET Web API を Azure の API App として動かす

3/25 に発表された Azure App Service の Logic App と API App の組み合わせを試してみました。詳細は ブチザッキ Azure App Service | ブチザッキ、 MSDN Blogs などをどうぞ。気になった内容は以下の通り。 Visual Studio にて Swagger のクライアントコ…

Swagger を使った ASP.NET Web API のドキュメント生成

追記:この記事はバージョンが古いものです。より新しい情報について Swagger 2.0 に対応した ASP.NET Web API のドキュメントを作成する こちらをご覧ください。 ASP.NET Advent Calendar 2014 17 日目 の記事です。前回は iwate さんの ASP.NETプロジェク…

ASP.NET Web API シンプルな文字列の POST について

ASP.NET Web API にて、シンプルな文字列を POST する方法&受け取る方法についてまとめておきます。文字列は、HTTP リクエストの Body に格納し、次のいずれかの Content-Type で送るものとします。 application/json application/x-www-form-urlencoded te…

Build 2014 - Day 2 Keynote - Microsoft Azure Mobile Services

現在サンフランシスコで開催されている、開発者向けカンファレンス Build 2014。2日目のキーノートでは Azure についての発表がありました。内容はブチザッキさんがまとめていらっしゃいます。//build/ 2014 Day 2 Keynote (Azure成分多め) « ブチザッキそ…

Windows Azure モバイルサービスで ASP.NET Web API を試す ~とりあえずサンプル実行~

2014/6/7 .NET Backend の更新(2014/3/29) と Visual Studio 2013 Update 2 に合わせました。2014年2月、Windows Azure モバイルサービスで、バックエンド側が .NET をサポートしました。(プレビューです) 参考:Azure: ExpressRoute Dedicated Networking…

ASP.NET MVC 5.1 と ASP.NET Web API 2.1 の内容

ASP.NET MVC 5.1、ASP.NET Web API 2.1、ASP.NET Web Pages 3.1 がリリースされたので、内容を調べてみました。この記事には、ASP.NET MVC 5.1 の内容を記載しています。 ASP.NET Web API 2.1 の方は長くなったので別記事にしました: ASP.NET Web API 2.1 …

ASP.NET Web API 2.1 その 1

ASP.NET Web API 2.1 で追加された機能をみてみました。 概要 ☆が付いているのは、クライアント側の HttpClient ライブラリにも関係する更新です。 Global Error Handling 属性ベースルーティングの改善 ヘルプページの機能追加 IgnoreRoute のサポート BSON…

ASP.NET Web API 2.1 その 2 ~Global Error Handling~

ASP.NET Web API 2.1 の目玉、Global Error Handling について調べました。 目次 概要 今までは不十分だった例外処理 ドキュメント 使ってみる 例外フィルター属性との関連 その他の情報 破壊的変更は無し 例外情報の取得 Web API における例外処理まとめ 概…

ASP.NET Web API 2 で追加された機能について

この記事は、One ASP.NET Advent Calendar 2013 の 6 日目の記事です。 前回は、jsakamoto さんの ASP.NET の Minify & Bundle 機能と HTML5オフラインキャッシュ です。 次回は、Kiyokura narami さんの Glimpseのポリシーをコードで制御する です。10/17 …

ASP.NET Web API 2 Attribute Routing の動作が Beta 版と変わってた

2013/10/17 に VS 2013 と共にリリースとなった、ASP.NET Web API 2 ですが、 Attribute Routing が、Beta 版と少し動作が変わっています。なので、以前書いた記事 ASP.NET Web API 2 Attribute Routing を更新しました。Attribute Routing の Beta 版とリリ…

OWIN を使ったセルフホストで ASP.NET Web API 2 をかんたん起動

Web API を利用したストアアプリを作成&デバッグしているときに、いちいち Visual Studio で ASP.NET Web API を起動するのが面倒だったので、セルフホストを使って exe で実行できるようにしました。トレース機能を有効にすると、Web API の呼び出しに合わ…

コントローラーとビューのテンプレートを編集する in ASP.NET MVC(& Web API)

Visual Studio で ASP.NET MVC のコントローラーやビューを追加する際、右クリックメニューより追加を行うことで、ある程度コードが記述されたものを用意できます。このときに自動生成されるコードは、全体あるいはプロジェクト単位でカスタマイズできます。…

ASP.NET Web API 2 Request Batching

ASP.NET Web API 2 新機能シリーズ、次は「Request Batching」です。Request Batching(バッチリクエスト) とは、複数の HTTP リクエストを1つの HTTP リクエストにまとめて、1回の通信で複数の処理を実行するというものです。メリットは ネットワークト…

ASP.NET Web API 2 CORS サポートについて

ASP.NET Web API 2 の新機能の 1 つとして CORS サポートがあります。クロスドメイン通信についてちゃんと分かっていなかったので、 ・クロスドメイン通信 ・CORS ・ASP.NET Web API の CORS サポート実装 についてまとめたいと思います。ASP.NET 公式サイト…

ASP.NET Web API 最小限のプロジェクトを用意する方法

関連記事 ASP.NET 空の Web アプリケーションからWebAPIを使えるようにするための道のり「作成からヘルプページ、ODataのクエリの有効化まで」- かずきのBlog@hatena Creating a Clean, Minimal-Footprint ASP.NET WebAPI Project with VS 2012 and ASP.NET …

ASP.NET Web API 2 - IHttpActionResult

ASP.NET Web API 2 から、アクションの戻り値に、IHttpActionResult インターフェイスを指定できるようになりました。 ASP.NET MVC をご存じの方にはこう伝えたいです。 “ ActionResult が ASP.NET Web API にもやってきた!”と。 (ASP.NET Web API HTTP メ…

ASP.NET MVC で動的なドロップダウンリストを実装する

ASP.NET MVC で、動的なドロップダウンリストを実装する方法です。都道府県を選択すると、市町村のドロップダウンリストの項目の値が変わるという、 よくあるパターンです。 knockout.js がオススメ よく見かけるのが、選択した値に関係なく、全てのデータを…

ASP.NET Web API 取得するデータの書式を指定する ~Content Negotiation~

ASP.NET Web API は、デフォルトで Json, Xml, FormUrlEncoded の書式に対応しています。データを取得する際は、リクエストのヘッダー Accept 値で、どの書式でデータを取得するか指定できます。 また、コードを数行追加すれば、「~/api/movies.json/」のよ…

ASP.NET Web API 2 Attribute Routing

6/26にVisual Studio 2013 Preview が公開されました。 ASP.NET MVC 5 と ASP.NET Web API 2 もベータ版として含まれています。リリースノートによると ASP.NET Web API 2 では、Attribute Routing、OData(サポートの追加)、CORS、IHttpActionResult、Authen…

iOS の Push 通知 のサーバー側を ASP.NET Web API で

iOS の Push 通知機能で、サーバー側の処理を ASP.NET Web API で実装してみました。 その手順について書こうと思います。 ※注意 以下は、実装にあたり必要な部分ですがここでは省略しています。 Push 通知の仕組みについて 証明書と鍵の取得と登録 Web API …

ASP.NET Web API の Route Debugger が凄かった

ASP.NET Web API の Route Debugger を試してみました。 ルーティングがどのように選択されているかを確認したり、 思った通りにアクションメソッドにマッピングできない時の調査に大変役立ちます。元の記事はこちらです。Debugging ASP.NET Web API with Ro…

ASP.NET Web API カスタムエラーメッセージ

以前の記事ASP.NET WEB API エラーの対処についてで、エラー用フィルター属性を使った例外処理について書きました。 今回はそれに続いて、エラー時に返すレスポンスの Body を、カスタマイズする方法です。 エラーの詳細表示を切り替える エラーが起きた時に…

ASP.NET Web API のテスト

ASP.NET Web API ではルーティングが少し特殊なため、(特殊ではなく RESTful に沿っているだけですが)オレオレな API を定義してルーティングをカスタマイズすると、 すぐに ”マッチするアクションメソッドが複数あります”等のエラーが起きます。API なの…

Web API のトレース機能を Azure で

前回、Web API のトレース機能がデフォルトで追加されたことについて書きました。 Web API のヘルプページとトレース機能がデフォルトへ このトレース機能は、Azure に発行したとしても、問題の発見に役に立つことができます。Azure に発行して、WEB API の…

Web API のヘルプページとトレース機能がデフォルトへ

ASP.NET and Web Tools 2012.2 がリリースされました。ASP.NET Web API では、3つの機能―― 1.OData のサポート、2.ヘルプページ生成機能、3.トレース機能 が追加されています。今回はヘルプページとトレース機能、加えて、 Azure で発行した時にトレ…

ASP.NET WEB API QueryStringを使った検索

QueryString でたくさんの検索条件を指定する API の例です。 パラメータを指定しない場合は、初期値を設定したいものとします。 api/persons/? canCook=true & isHungry=false & Name=taro &..... という URL で検索したい場合もあれば、 api/persons/?canC…

ASP.NET WEB API モデルバインド その1 値の取得先

ASP.NET WEB API モデルバインドについてです。 モデルバインディングとは モデルバインディングとは、ApiController のアクションメソッドの引数に定義した パラメータの型(モデル)の値を、リクエストから生成し、メソッドに渡すことです。 ASP.NET MVC …

Hokuriku.NET vol.11, ASP.NET WEB API ヘルプページ補足

2013/01/26(日)に富山で開催された Hokuriku.NET vol.11 に参加してきました。 全国各地、遠いところから足を運んで下さった皆様、 素晴らしいセッションをして頂いたスピーカーの方々、 そしてスタッフの皆様、本当にありがとうございました。ぶりしゃぶも…

ASP.NET WEB API エラーの対処について

ASP.NET WEB API には、エラー用フィルター属性のインターフェイス、 System.Web.Http.Filters.IExceptionFilter が用意されています。これを使えば、(MVC と似たように)アクションメソッド内でエラーが起きた時に、 独自の処理を挟むことができます。 今日…

ASP.NET WEB API ルーティングについていろいろ

ルーティング基本 WEB API において、アクションメソッドへのマッピングの基本は、 HTTP メソッド名から始まるメソッドへマッピングされることです。HTTP POST だったら、POST..から始まるメソッドへ、 HTTP GET だったら、GET...から始まるメソッドへマッピ…

API と MVC でモデル検証の挙動が少し違う

モデル検証の時に入るキーが、WEB API と、MVC と違っていたのでメモです。下のように、とあるモデルを引数としたアクションメソッドを定義し、 そのモデルに検証属性を付けます。 // アクションメソッド [HttpPost] public ActionResult Register(RegisterM…

ASP.NET WEB API でのステータスコードについて

あけましておめでとうございました。今年もよろしくお願いいたします。 〜ASP.NET WEB API はじめました〜 ASP.NET WEB API にて、 どういった時にどんなステータスコードを返すのか、返すべきなのか わからなかったので簡単に調べました。 ASP.NET WEB API …