问题描述
我收到来自客户端的 PUT 请求,如下所示:
PUT /calendars/johndoe/home/132456762153245.ics HTTP/1.1
Content-Type: text/calendar; charset=utf-8
[HttpPut]
[Consumes("text/calendar")
[Route("calendars/{userName:alpha}/{calendarName:alpha}/{icsFile}")]
public async Task<ActionResult<string>> Put([Fromroute] string userName,[Fromroute] string calendarName,[FromBody] string icsFile)
{...
我尝试了不同的路由属性和一个包罗万象的参数,但它不适用于整个 url 路径。
感谢任何建议。
解决方法
只需更改您的路由属性
[Route("calendars/{userName}/{calendarName}/{icsFile}")]
public async Task<ActionResult<string>> Put( string userName,string calendarName,string icsFile)
{
....
}
恕我直言,最好删除 [HttpPut] 和 [Consumes("text/calendar")]