我有以下原始请求,我需要为其编写端点。
POST http://remote.zacharias.me:85/User/FitbitImport/Notification HTTP/1.1
X-Fitbit-Signature: +uzx+89UfHXZvMlRucZU/V8DilQ=
Content-Length: 126
Content-Type: application/json
Host: remote.zacharias.me:85
Connection: Keep-Alive
[{"collectionType":"activities","date":"2014-09-24","ownerId":"2RXBTN","ownerType":"user","subscriptionId":"test-activities"}]
如果我使用空白请求对象,则无法访问任何数据。 我尝试添加一个解析方法(如此处所述:http://docs.servicestack.net/text-serializers/json-serializer)来反序列化数据,但后来我得到一个RequestBindingException。我确实将样本从结构更改为类,因为结构抛出的对象未设置为引用错误。
[Route("/User/FitbitImport/Notification")]
public class FitbitSubscriptionNotificationRequest
{
//Optional property and parse method.
public List<FitBitNotificationDTO> Data {get;set;}
public static FitbitSubscriptionNotificationRequest Parse(string json)
{
var data = json.FromJson<List<FitBitNotificationDTO>>();
return new FitbitSubscriptionNotificationRequest { Data = data };
}
}
如何编写此端点以便我可以访问fitbit发送给我的json数组?
答案 0 :(得分:1)
在ServiceStack中,所有请求DTO都需要是一个唯一命名的非泛型类型,它可以通过让您的请求DTO继承自List<T>
来接受DTO数组,例如:
[Route("/User/FitbitImport/Notification")]
public class FitbitSubscriptionNotification : List<FitBitNotification> {}