0
私はナンシーから始めていますが、私はイライラする問題にぶつかってきました。バインディングなしでデシリアライズされたボディを取得する
私は(他のプロパティの中でも)IDを持つモデルを持っています。私のモジュールで
public class MyModel
{
public string Id { get; set; }
// other properties
}
は、私は、PUTメソッド
Put["/{id}", true] = async (parameters, token) =>
{
var model = this.Bind<MyModel>();
string id = parameters["id"];
if (model.Id != id)
return new Response
{
ReasonPhrase = $"[error message about IDs not matching]",
StatusCode = HttpStatusCode.BadRequest
};
await _myModelService.Update(model);
return Nancy.Response.NoBody;
};
私が経験してる問題はthis.Bind<MyModel>()
コールで、ナンシーはルートでIDと一体的にIDを上書きすることであると定義しました私の "匹敵しない"シナリオをテストすることはできません。たとえば:
PUT /orders/someObjectId
{
"Id" : "aDifferentObjectId"
}
は"someObjectId"
としてId
でMyModel
に結合します。私もプロパティをブラックリスト試みた
:
this.Bind<MyModel>(m => m.Id)
this.Bind<MyModel>("id")
this.Bind<MyModel>("Id")
this.Bind<MyModel>("id", "Id")
をしかし、これは、IDプロパティをクリアバインド操作になりモデルでは
体内にあるものを正確に取得するにはどうすればよいですか?