【发布时间】:2015-04-22 01:08:30
【问题描述】:
我使用服务堆栈已经有一段时间了,遇到了一个场景,其中 POST 方法使用 IReturn 对象的默认实例(所有属性都默认为其数据类型值)。作为路由 (/product/1234345/) 的一部分提供的值是唯一填充的值。我在下面列出了一个示例:
[Route("/search/{searchMethod}/books")]
public class SearchRequest : IReturn<SearchResponse>
{
public SearchProvider searchProvider { get; set; }
public string searchTerm { get; set; }
public string categoryID { get; set; }
public long maxResults { get; set; }
//Only this property gets populated if method is post
public string searchMethod { get; set; }
}
public SearchResponse Any(SearchRequest searchRequest)
{
//This works only for non-post requests
return Put(searchRequest);
}
public SearchResponse Get(SearchRequest searchRequest)
{
//This works
return Put(searchRequest);
}
public SearchResponse Post(SearchRequest searchRequest)
{
//This does not
return Put(searchRequest);
}
public SearchResponse Put(SearchRequest searchRequest)
{
//Code for put method goes here
}
然后我使用客户端调用这些方法
SearchServiceClient searchClient = new SearchServiceClient(SearchServiceAPIUrl);
SearchResponse searchResponse = searchClient.Search(SearchProvider.SampleSearchProvider, searchterm, categoryID, 100,"conservative");
非常感谢任何帮助
谢谢
【问题讨论】:
标签: asp.net servicestack