бит из ASP.NET MVC нуб, я пытаюсь передать строку в качестве аргумента для моего контроллера Web API:Неверный запрос?
public class ValuesController : ApiController
{
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
public string Get(int id)
{
return "value";
}
public string Get(string arg)
{
return "othervalue";
}
}
Я попытался добавить еще один маршрут:
routes.MapRoute(
name: "Default2",
url: "{controller}/{action}/{arg}",
defaults: new { controller = "Home", action = "Index", arg = UrlParameter.Optional }
);
Так Я хочу сохранить оба метода Get и использовать параметр Get с параметром arg, чтобы я мог передавать строку. Так что, когда я пытаюсь ударить этот адрес «апите/значение/jjhjh» в моем браузере я получаю эту ошибку:
The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Int32' for method 'System.String Get(Int32)' in 'stackOverflowWebApi.Controllers.ValuesController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
Можете ли вы показать, как вы пытаетесь передать строку, ссылку? –
Вы пробовали сделать идентификатор нулевой? – aw04
Маршрут, который вы показываете, относится к 'Routeconfig', вы можете показать нам свой' WebApiconfig' – Nilesh