Comment utiliser RestSharp.NetCore dans le noyau asp.net
Je suis passé par le http://restsharp.org/ code du travail de grands noms. Ci-dessous est le code de RestSharp avec asp.net de base .
public GenericResponseObject<T> GetGeneric<T>(string operation, params KeyValuePair<string, string>[] nameValues) where T : class
{
RestClient client = new RestClient(_baseUrl)
{
Authenticator = new HttpBasicAuthenticator(_username, _password)
};
RestRequest request = new RestRequest(operation, Method.GET);
foreach (KeyValuePair<string, string> nameValue in nameValues)
{
request.AddQueryParameter(nameValue.Key, nameValue.Value);
}
IRestResponse<GenericResponseObject<T>> response = client.Execute<GenericResponseObject<T>>(request);
GenericResponseObject<T> responseObject = response.Data;
return responseObject;
}
}
Ce code fonctionne très bien pour moi. Maintenant, je veux mettre en œuvre même code dans asp.net de base.
Puis-je obtenir un échantillon de exemple comment utiliser RestSharp dans asp.net de base. J'ai ajouté la dépendance RestSharp.NetCore": 105.2.3.
source d'informationauteur San Jaisy | 2016-12-30
Vous devez vous connecter pour publier un commentaire.
Ajoutant à Antwone Pitreries de réponse, de créer une classe d'extension:
Vous pouvez maintenant l'utiliser comme suit:
Vous pouvez également créer des méthodes d'extension qui analyse la réponse à retourner un type fort et ainsi de suite.
RestSharp v106 de soutien .NET Standard de sorte que votre code devrait fonctionner sans modifications.
RestSharp.NetCore
paquet n'est pas de RestSharp équipe et n'est pas pris en charge par nous. C'est aussi de ne pas être mis à jour et le propriétaire ne répond pas aux messages, ni le code source du paquet est publié.Il y a un existant StackOverflow question et par l'exemple que les appels ExecuteAsync sur RestSharp.NetCore.
ExecuteAsyncPost Exemple dans RestSharp.NetCore
J'ai utilisé avec succès que exemple lors de la référence à RestSharp.NetCore 105.2.3 avec Newtonsoft.Json 9.0.2-beta2.
J'ai créé une méthode d'extension (voir commentaire ci-dessus pour le contexte).
public static class RestSharpExtensions
{
public static RestResponse Execute(this IRestClient client, IRestRequest request)
{
var taskCompletion = new TaskCompletionSource();
client.ExecuteAsync(request, r => taskCompletion.SetResult(r));
return (RestResponse)(taskCompletion.Task.Result);
}
}
maintenant je peux utiliser de l'utiliser comme
var response = restClient.Execute(request);