我有一个如下所示的API端点:
[HttpGet]
public ActionResult MyApiMethod(string path)
{
// do stuff with path
return Ok();
}
显然我不能通过路径,否则我的呼叫将是404.我认为base64编码是正确的,但显然base64编码会导致符号,例如' +',& #39; /'和' =' ...这也会在命中端点时造成随机错误。我应该如何将路径作为参数传递给API GET请求?
答案 0 :(得分:0)
path ='api / yourcontroller name / your action name'
这是将路径传递给api控制器的方法
答案 1 :(得分:0)
使用string path
作为GET
API的参数是一个坏主意。首先,使用此API的开发人员应该详细了解您的实现,例如"我是否需要对路径进行url编码?"或"路径是以/是否开始?"或者"如果我把主机名放在路径中怎么办?"。其次,您需要关心安全问题。
我想使用列出所有支持操作的enum
。
public enum ApiAction
{
This,
That
}
public ActionResult MyApiMethod(ApiAction apiAction)
{
//get the path from enum via a method or something
var path = GetPath(apiAction);
//do something to path
}