Servicestack return array instead of object with array

Servicestack return array instead of object with an array

我有一个 servicestack POCO 对象

public class SiteCalendarItem
{
    [DataMember(Name = "title")]
    public string Title { get; set; }
    [DataMember(Name = "start")]
    public string StartD { get; set; } //DateTime
    [DataMember(Name = "end")]
    public string EndD { get; set; }
    /***/

}

调用网络服务时,return编辑为 JSON 对象

public object Get(GetFullCalendarRequest request)
{
    CalendarItemList tmp = new CalendarItemList();
    return new GetFullCalendarResponse { Result = tmp.ReturnObject() };
}

这 return 是一个包含日历对象数组的对象。

{"Result":[{"title":"test 1","start":"2019-09-08","end":"2019-09-10"}]}

我想将此作为使用“Fullcalendar”插件的网站的提要。 现在的问题是 fullcalendar 插件需要以下形式的数据:

[{"title":"All Day Event","start":"2022-05-01"},{"title":"Long Event","start":"2022-05-07","end":"2022-05-10"},{"groupId":"999","title":"Repeating Event","start":"2022-05-09T16:00:00+00:00"}]

这是作为“固定”事件源(事件:'http://127.0.0.1:8089/GetFullCalendar?format=json')给出的,我怀疑我无法传递配置参数。

那么我如何确保 Servicestack 服务不是 return 带有数组的对象而是直接数组?

我做了我的 google-作业,但除非我错过了它,否则它并不简单(对我来说)。

你可以只return裸数组,例如:

public object Get(GetFullCalendarRequest request) => 
    new CalendarItemList().ReturnObject();

我还建议向客户注释您的 API return 内容:

public class GetFullCalendarRequest : IReturn<SiteCalendarItem[]> { ... }