我正在尝试使用RestSharp的Execute方法查询休息端点并序列化为POCO的一个非常简单的示例.但是,我尝试的所有内容都会产生一个response.Data对象,该对象具有NULL值的所有属性.
这是JSON响应:
{
"Result":
{
"Location":
{
"BusinessUnit": "BTA",
"BusinessUnitName": "CASINO",
"LocationId": "4070",
"LocationCode": "ZBTA",
"LocationName": "Name of Casino"
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的测试代码
[TestMethod]
public void TestLocationsGetById()
{
//given
var request = new RestRequest();
request.Resource = serviceEndpoint + "/{singleItemTestId}";
request.Method = Method.GET;
request.AddHeader("accept", Configuration.JSONContentType);
request.RootElement = "Location";
request.AddParameter("singleItemTestId", singleItemTestId, ParameterType.UrlSegment);
request.RequestFormat = DataFormat.Json;
//when
Location location = api.Execute<Location>(request);
//then
Assert.IsNotNull(location.LocationId); //fails - all properties are returned null
}
Run Code Online (Sandbox Code Playgroud)
这是我的API代码
public T Execute<T>(RestRequest request) where T : new()
{
var client …Run Code Online (Sandbox Code Playgroud) 出于某种原因,当我尝试在我新创建的asp.net mvc应用程序中的默认母版页(Site.Master)中使用Page.ResolveURL或Url.Content时,我收到运行时异常.这很奇怪,因为我已经在.NET中使用ResolveURL辅助函数多年而没有问题.这是我的代码片段:
<link href="<%= Url.Content("~/css/style.css"); %>" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)
这是在同一行上发生的运行时错误:
Compiler Error Message: CS1026: ) expected
Run Code Online (Sandbox Code Playgroud)
如果我将href更改为静态URL,一切都很好.此外,这是一个全新的ASP.NET mvc项目......这是我改变的第一行代码.
我希望对堆栈溢出社区进行简单的查询.
鉴于以下配置,我在"Totals"模型上有一个相当简单的int字段,似乎无法过滤在该字段上工作.
这是models.py中的对象:
class TotalType(Enum):
daily_sum = 1
weekly_sum = 2
class Total(models.Model):
TOTAL_TYPES = (
(TotalType.daily_sum, 'Daily Sum'),
(TotalType.weekly_sum, 'Weekly Sum')
)
location = models.ForeignKey(Location, db_column='LocationId')
ci_timestamp = models.DateTimeField(db_column='ci_TimeStamp', blank=False, null=False)
amount = models.DecimalField(max_digits=12, decimal_places=2, blank=False, null=False)
total_type = models.IntegerField(max_length=5, blank=False, choices=TOTAL_TYPES)
Run Code Online (Sandbox Code Playgroud)
以下是来自urls.py的路由器信息:
router = DefaultRouter()
router.register(r'totals', TotalViewSet)
urlpatterns = patterns('',
url(r'^', include(router.urls))
)
Run Code Online (Sandbox Code Playgroud)
这是我的对象序列化器:
class TotalSerializer(serializers.HyperlinkedModelSerializer):
location = serializers.HyperlinkedRelatedField(view_name="location-detail", many=False)
class Meta:
model = Total
fields = ('id', 'location', 'ci_timestamp', 'amount', 'total_type')
Run Code Online (Sandbox Code Playgroud)
最后,这是视图配置:
class TotalViewSet(viewsets.ReadOnlyModelViewSet):
filter_fields = ('total_type', …Run Code Online (Sandbox Code Playgroud) python django django-models django-views django-rest-framework
asp.net ×1
asp.net-mvc ×1
c# ×1
c#-4.0 ×1
django ×1
django-views ×1
json ×1
python ×1
restsharp ×1