.net c#中的Web api路由属性正则表达式中的字符串参数应仅允许字母数字和点

我有一种方法,在 webapi 中,我使用 swagger 来调用 web api。在 api 请求中,“请求类型”参数应该只允许字母、数字和点(.)。我试过下面的代码,但它不起作用


 [HttpGet]

 [SwaggerResponse(HttpStatusCode.OK, Type = typeof(string))]

 [Route(@"testMethod/{requestType:regex(^[A-Za-z0-9. ]+$)}")]

 public IHttpActionResult testMethod(int mid,string requestType = "", )

 {

     //logic

 }


米脂
浏览 144回答 2
2回答

陪伴而非守候

在正则表达式中,点通常是任何字符的占位符。因此,你必须逃避它。在 .NET 中,这是通过反斜杠完成的:A-Za-z0-9\.

森林海

这可能有效:[a-zA-Z]|\d|\s|\.*
打开App,查看更多内容
随时随地看视频慕课网APP