mongodb ObjectId
パラメータをURL の文字列としてコントローラに渡したいとします。Webアプリケーション2.0のURLパラメータとしてmongodb ObjectIdを設定してください。
MVCではModelBinderを使用できます。
これをASP.NET WebApi 2.0でどのように行うことができますか?
mongodb ObjectId
パラメータをURL の文字列としてコントローラに渡したいとします。Webアプリケーション2.0のURLパラメータとしてmongodb ObjectIdを設定してください。
MVCではModelBinderを使用できます。
これをASP.NET WebApi 2.0でどのように行うことができますか?
ASP.NET Web APIにはMVCと同じdetault route principleがあります。
は自分のメソッドのパラメータ名にクエリ文字列にプロパティと一致し、あなたのパラメータに直接その後、マッピングされている値を渡すことができるようにするには:に行わ
コール:{yourserver}/API/valuesasparam ?/ MYPARAM = 498574395734958
あなたApiController呼び出す:
public class ValuesAsParamController : ApiController
{
[HttpGet]
public IEnumerable<string> Call(string myparam)
{
// Do something with your 'myparam' value
}
}
更新:
ObjectIdとして値を直接取得する場合は、モデルバインドの場合はhereをチェックします。そして、のObjectIdにあなたの文字列を変換するためfollwingコード:
MongoDB.Bson.ObjectId.Parse(myparam);
このようなコントローラでのObjectIdタイプを使用の場合:
[Route("{id}")]
public IHttpActionResult Get(ObjectId id)
私の答えを参照してください。https://stackoverflow.com/a/47107413/908936
私は変換しないにコントローラのパラメータをObjectIdとして設定したい場合は、ObjectIdに文字列を自動的に変換します –
ObjectIdに文字列を変換するためにModelBinderを大量に設定する方法です。私の投稿の更新を確認してください – bsoulier
[ここ] (https:// stacko verflow.com/questions/10942824/mvc4-webapi-serialization-deserialization-mongodb-objectid)は別の**簡単な解決策です**。希望は誰かを助けます。 – stom