1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/fudiwei-DotNetCore.SKIT.FlurlHttpClient.Wechat

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Basic_Extensions.md 2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Fu Diwei Отправлено 07.02.2024 06:22 c774af7

如何自定义额外的 API 接口?


如果有某些接口本库尚未支持,你可按照下面的示例自行扩展:

/* 继承 WechatApiRequest 实现自定义请求类 */
public class MyFakeRequest : WechatApiRequest
{
    [Newtonsoft.Json.JsonProperty("my_fake_props")]
    [System.Text.Json.Serialization.JsonPropertyName("my_fake_props")]
    public string MyFakeProps { get; set; }
}

/* 继承 WechatApiResponse 实现自定义响应类 */
public class MyFakeResponse : WechatApiResponse
{
    [Newtonsoft.Json.JsonProperty("my_fake_props")]
    [System.Text.Json.Serialization.JsonPropertyName("my_fake_props")]
    public string MyFakeProps { get; set; }
}

/* 扩展 WechatApiClient 方法 */
public static class MyFakeClientExtensions
{
    public static async Task<MyFakeResponse> ExecuteMyFakeAsync(this WechatApiClient client, MyFakeRequest request, CancellationToken cancellationToken = default)
    {
        if (client is null) throw new ArgumentNullException(nameof(client));
        if (request is null) throw new ArgumentNullException(nameof(request));

        IFlurlRequest flurlReq = client
            .CreateFlurlRequest(request, HttpMethod.Post, "my-fake-url")
            .SetQueryParam("access_token", request.AccessToken);

        return await client.SendFlurlRequestAsJsonAsync<MyFakeResponse>(flurlReq, request, cancellationToken);
    }
}

同样地,你也可自行扩展回调通知事件模型:

/* 继承 WechatApiEvent 实现自定义的 JSON 格式的回调通知事件 */
public class MyFakeEvent : WechatApiEvent
{
    [Newtonsoft.Json.JsonProperty("my_fake_props")]
    [System.Text.Json.Serialization.JsonPropertyName("my_fake_props")]
    public string MyFakeProps { get; set; }
}

/* 继承 WechatApiEvent 实现自定义的 XML 格式的回调通知事件 */
public class MyFakeEvent : WechatApiEvent
{
    [System.Xml.Serialization.XmlElement("my_fake_props")]
    public string MyFakeProps { get; set; }
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/fudiwei-DotNetCore.SKIT.FlurlHttpClient.Wechat.git
git@api.gitlife.ru:oschina-mirror/fudiwei-DotNetCore.SKIT.FlurlHttpClient.Wechat.git
oschina-mirror
fudiwei-DotNetCore.SKIT.FlurlHttpClient.Wechat
fudiwei-DotNetCore.SKIT.FlurlHttpClient.Wechat
main