我的web api工作正常,直到业务规则要求我将参数从int更改为string。 我知道有些错误可以预料到,但没有这个:
[ResponseType(typeof(UserDTO))]
[HttpGet]
[Route("api/users/{id}")]
public IHttpActionResult GetUser(string id)
{
try
{
userValidator.secure(Request);
User user = userValidator.GetUser(id);
UserDTO userDTO = new UserDTO()
{
UserId = user.UserId,
Name = user.Name,
Admin = user.Admin,
Deleted = user.Deleted
};
return Ok(userDTO);
}
catch (NotExistException exception)
{
return ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.BadRequest, exception.Mymessage));
}
catch (System.Data.SqlClient.SqlException)
{
return ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "VecinosUY no se puede conectar a la base de datos (∩︵∩)"));
}
catch (Exception exception) {
return ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exception.Message));
}
}
如果字符串{id}不包含“'”,则HTTP可以正常工作。'
http://192.168.0.110:45455/api/users/facu有效 http://192.168.0.110:45455/api/users/facu.facu不要。
解决这个问题的任何工作?