The API controller’s task is to accept and handle the custom data source API requests from Flexmonster Pivot. To simplify the request handling, Flexmonster.DataServer.Core.dll provides a set of ready-to-use methods that allow getting fields, members, and aggregated data. These methods belong to the DLL's IApiService class.
The GetFields() method returns a list of all fields with their types. Use this method to create the response to the /fields request. This method has two signatures:
Schema GetFields(string index)index is the same parameter as in the /fields request. Schema GetFields(FieldsRequest request)request has the FieldsRequest type. FieldsRequest is a class from the DLL that describes the structure of the /fields request. Schema is a class from the DLL that describes the structure of the response to the /fields request.
The GetMembers() method returns a list of all field members. Use this method to create the response to the /members request. This method has the following signatures:
MembersResponse GetMembers(string index, Field field, int page, LogicFilter filter, [IEnumerable<ServerFilter> serverFilter])index, field, filter, and page are the same parameters as in the /members request. serverFilter is an optional parameter containing the server filters.MembersResponse GetMembers(MembersRequest membersRequest, [IEnumerable<ServerFilter> serverFilter])membersRequest has the MembersRequest type. MembersRequest is a class from the DLL that describes the structure of the /members request. serverFilter is an optional parameter containing the server filters.MembersResponse GetMembers(MembersRequest membersRequest, ServerFilter serverFilter)membersRequest has the MembersRequest type. MembersRequest is a class from the DLL that describes the structure of the /members request. serverFilter contains the server filters.MembersResponse is a class from the DLL that describes the structure of the response to the /members request.
The GetAggregatedData() method returns the aggregated data. Use this method to create the response to the /select request for the pivot table, the flat table, or the drill-through view. This method has the following signatures:
SelectResponse GetAggregatedData(string index, Query query, int page, [IEnumerable<ServerFilter> serverFilter])index, query, and page are the same parameters as in the /select requests for the pivot table, the flat table, and the drill-through view. serverFilter is an optional parameter containing the server filters.SelectResponse GetAggregatedData(SelectRequest selectRequest, [IEnumerable<ServerFilter> serverFilter])selectRequest has the SelectRequest type. SelectRequest is a class from the DLL that describes the structure of the /select requests for the pivot table, the flat table, and the drill-through view. serverFilter is an optional parameter containing the server filters.SelectResponse GetAggregatedData(SelectRequest selectRequest, ServerFilter serverFilter)selectRequest has the SelectRequest type. SelectRequest is a class from the DLL that describes the structure of the /select requests for the pivot table, the flat table, and the drill-through view. serverFilter contains the server filter.SelectResponse is a class from the DLL that describes the structure of the responses to the /select requests for the pivot table, the flat table, and the drill-through view.
Note The DLL’s methods and classes can be overridden and adjusted to your needs.