2014-02-13 34 views
0

我的三个Web API方法中的两个工作正常;第三个不 - 它又喊又叫,Dobermanesque:“远程服务器返回错误(404)未找到”为什么找不到这个特定的Repository方法?

这里是控制器的方法:

[Route("api/Subdepartments/GetCount")] 
public int GetCountOfSubdepartmentRecords(string serialNum) 
{ 
    return _subdepartmentsRepository.GetCount(serialNum); 
} 

[Route("api/Subdepartments/GetAll")] 
public IEnumerable<Subdepartment> GetAllSubdepartmentRecords(string serialNum) 
{ 
    return _subdepartmentsRepository.GetAll(serialNum); 
} 

[Route("api/Subdepartments")] 
public IEnumerable<Subdepartment> GetBatchFromID(string serialNum, int ID, int CountToFetch) 
{ 
    return _subdepartmentsRepository.GetBatch(ID, CountToFetch, serialNum); 
} 

这里是库方法:

public int GetCount(string serialNum) 
{ 
    LoadSubdepartments(serialNum); 
    return subdepartments.Count; 
} 

public IEnumerable<Subdepartment> GetAll(string serialNum) 
{ 
    LoadSubdepartments(serialNum); 
    return subdepartments; 
} 

public IEnumerable<Subdepartment> GetBatch(int ID, int CountToFetch, string serialNum) 
{ 
    LoadSubdepartments(serialNum); 
    return subdepartments.Where(i => i.Id >= ID).Take(CountToFetch); 
} 

...这是我穿过的URI:

http://localhost:28642/api/Subdepartments/GetCount?serialNum=8675309e9 
http://localhost:28642/api/Subdepartments/GetAll?serialNum=8675309e9 
http://localhost:28642/api/Subdepartments?serialNum=8675309e9&Int=1&CountToFetch=5 

为什么getCount将()和GETALL ()工作,而GetBatch()不?

回答

1

因为在查询字符串中你有Int=而不是ID=

所以URI你逝去的应该是

http://localhost:28642/api/Subdepartments?serialNum=8675309e9&ID=1&CountToFetch=5 
+0

啊,我知道这是一些愚蠢的遗漏或不正常的dyslexism! –

+0

适合我们最好的:) – Shiva

相关问题