我从南希开始,我遇到了一个令人沮丧的问题。
我有一个具有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>()
来电时,Nancy会使用路线中的ID覆盖身体中的ID,这意味着我无法测试我的&#34;无与伦比的& #34;场景。例如:
PUT /orders/someObjectId
{
"Id" : "aDifferentObjectId"
}
与MyModel
绑定Id
为"someObjectId"
。
我还尝试将该财产列入黑名单:
this.Bind<MyModel>(m => m.Id)
this.Bind<MyModel>("id")
this.Bind<MyModel>("Id")
this.Bind<MyModel>("id", "Id")
但是,这会导致绑定操作清除模型中的ID属性。
我怎样才能准确了解身体内部的情况?
答案 0 :(得分:0)
没关系。我做错了什么,现在它没有黑名单。我没有解释。