C# 如何编写ServiceStack端点以接受未命名数组?
我有以下原始请求,需要为其编写端点C# 如何编写ServiceStack端点以接受未命名数组?,c#,json,
servicestack,C#,Json,
servicestack,我有以下原始请求,需要为其编写端点 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 [{"c
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"}]
如果我使用一个空白的请求对象,我将无法访问任何数据。
我尝试添加一个解析方法(如下所述:)来反序列化数据,但随后我只得到一个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 };
}
}
[路由(“/User/fitbimport/Notification”)]
公共类FitbitSubscriptionNotificationRequest
{
//可选属性和解析方法。
公共列表数据{get;set;}
公共静态FitbitSubscriptionNotificationRequest解析(字符串json)
{
var data=json.FromJson();
返回新的FitbitSubscriptionNotificationRequest{Data=Data};
}
}
如何编写此端点,以便访问fitbit发送给我的json数组?在ServiceStack中,所有请求DTO都需要是唯一命名的非泛型类型,它可以通过让您的请求DTO从
列表继承来接受DTO数组,例如:
[Route("/User/FitbitImport/Notification")]
public class FitbitSubscriptionNotification : List<FitBitNotification> {}
[路由(“/User/fitbimport/Notification”)]
公共类FitbitSubscriptionNotification:列表{}
成功了!谢谢mythz