以下是我的API中的三个Get控制器操作:
public HttpResponseMessage Get(int page = 1) {
return Request.CreateResponse(HttpStatusCode.OK);
}
public HttpResponseMessage Get(string table) {
return Request.CreateResponse(HttpStatusCode.OK);
}
public HttpResponseMessage Get(string table, int id) {
return Request.CreateResponse(HttpStatusCode.OK);
}
如何像第一个一样编辑中间函数以接受可选的页面参数?当我将其编辑为
public HttpResponseMessage Get(string table, int page = 1) {
return Request.CreateResponse(HttpStatusCode.OK);
}
我收到一条消息,说已经有一个具有相同参数类型的Get成员。
谢谢!
答案 0 :(得分:0)
根本不修改中间方法;删除它。然后,在最后一个方法上使id
为可选。
否则,给中间方法一个Get
以外的名称。
答案 1 :(得分:-1)
我通过使Middle方法包含一个可选的字符串参数来解决了这个问题:
public async Task<HttpResponseMessage> Get(string table, string page = "1") {
然后我可以将字符串解析为整数。这很丑陋,但是有效,并且让我前进。 (任何人都有一个更好的主意,我愿意接受建议!)