我将一些值传递给我的控制器动作,一切都很好.POST设计中将缺少两个属性.
然后我设置缺失的值,但后来我想验证模型,它仍然是假的,因为看起来ModelState没有赶上我的更改.
[HttpPost, Authorize]
public ActionResult Thread(int id, string groupSlug, Comment comment, string submitButton)
{
comment.UserID = UserService.UID;
comment.IP = Request.UserHostAddress;
UpdateModel(comment); //throws invalidoperationexception
if (ModelState.IsValid) // returns false if i skip last line
{
//save and stuff
//redirect
}
//return view
}
Run Code Online (Sandbox Code Playgroud)
什么是最简洁的方法来轻拍模型状态并告诉它一切都会好的,同时仍然验证从用户的POST绑定的所有其他内容
我们正在使用jersey(1.9.1)和tomcat 5.5开发一个restful api.给定资源用urn标识,我们想要解决该资源的特定实例.为了实现这一点,我们使用了以下代码:
@Path("/XXXs")
public interface XXXResource {
@GET
@Path("{id}")
@Produces({ MediaType.APPLICATION_JSON })
XXXInfo getXXX(@PathParam("id") String id);
}
Run Code Online (Sandbox Code Playgroud)
我们的想法是使用以下URL来解决此资源:
HTTP://本地主机:8080/RESTAPI/XXX秒/ HTTP%3A%2F%2Fns.something.com%2FXXX%2F2
解码的路径参数值应为:http: //ns.something.com/XXX/2
但是,当我使用编码的url发出请求时,我从tomcat收到一条错误的请求消息.所以我的问题是:
为了以防万一,我更改了方法的签名,以便从查询字符串中获取参数,并且它工作正常,但我希望参数成为路径的一部分.
谢谢.