728x90
반응형
728x170
[TestClient 프로젝트]
▶ Program.cs
using System;
using Newtonsoft.Json;
using RestSharp;
using TestLibrary.Models;
namespace TestClient
{
/// <summary>
/// 프로그램
/// </summary>
class Program
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Public
#region 프로그램 시작하기 - Main()
/// <summary>
/// 프로그램 시작하기
/// </summary>
static void Main()
{
UserModel user = new UserModel
{
UserName = "admin",
Password = "1234"
};
string token = Login("https://localhost:44364/api/authentication/login", user);
Console.WriteLine($"JWT 토큰 : {token}");
Console.WriteLine("--------------------------------------------------");
TestModel test = new TestModel
{
Value = "테스트"
};
string result = Test("https://localhost:44364/api/authentication/test", token, test);
Console.WriteLine($"결과 : {result}");
Console.WriteLine("--------------------------------------------------");
Console.WriteLine("아무 키나 눌러 주시기 바랍니다.");
Console.ReadKey(true);
}
#endregion
#region 로그인하기 - Login(url, user)
/// <summary>
/// 로그인하기
/// </summary>
/// <param name="url">URL</param>
/// <param name="user">사용자</param>
/// <returns>JWT 토큰</returns>
private static string Login(string url, UserModel user)
{
RestClient restClient = new RestClient(url);
restClient.Timeout = -1;
RestRequest restRequest = new RestRequest(Method.POST);
restRequest.AddHeader("Content-Type", "application/json");
string json = JsonConvert.SerializeObject(user);
restRequest.AddParameter("application/json", json, ParameterType.RequestBody);
IRestResponse restResponse = restClient.Execute(restRequest);
string token = restResponse.Content.Replace("\"", "");
return token;
}
#endregion
#region 테스트하기 - Test(url, token, test)
/// <summary>
/// 테스트하기
/// </summary>
/// <param name="url">URL</param>
/// <param name="token">JWT 토큰</param>
/// <param name="test">테스트</param>
/// <returns>테스트 결과</returns>
private static string Test(string url, string token, TestModel test)
{
RestClient restClient = new RestClient(url);
restClient.Timeout = -1;
RestRequest restRequest2 = new RestRequest(Method.POST);
restRequest2.AddHeader("Content-Type" , "application/json");
restRequest2.AddHeader("Authorization", $"Bearer {token}" );
string json = JsonConvert.SerializeObject(test);
restRequest2.AddParameter("application/json", json, ParameterType.RequestBody);
IRestResponse restResponse = restClient.Execute(restRequest2);
string result = restResponse.Content.Replace("\"", "");
return result;
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON/.NETCORE] 누겟 설치 : Microsoft.EntityFrameworkCore.Design (0) | 2020.10.17 |
---|---|
[C#/COMMON/.NETCORE] 누겟 설치 : Microsoft.EntityFrameworkCore.SqlServer (0) | 2020.10.17 |
[C#/COMMON/.NETCORE] 누겟 설치 : Microsoft.EntityFrameworkCore.SQLite (0) | 2020.10.17 |
[C#/COMMON/.NETCORE] dotnet tool install 명령 : Entity Framework Core 도구 설치하기 (0) | 2020.10.17 |
[C#/COMMON/.NETCORE] dotnet watch run 명령 : 프로그램 실행하기 (0) | 2020.10.17 |
[C#/COMMON/.NETCORE] 누겟 설치 : RestSharp (0) | 2020.10.13 |
[C#/COMMON/.NETCORE] 누겟 설치 : System.Data.SqlClient (0) | 2020.10.12 |
[C#/COMMON/.NETCORE] 누겟 설치 : Microsoft.EntityFrameworkCore.InMemory (0) | 2020.10.11 |
[C#/COMMON] 누겟 설치 : AspNetWebApi.SelfHost (0) | 2020.10.09 |
[C#/COMMON] 누겟 설치 : System.Net.Http.Formatting.Extension (0) | 2020.10.09 |
댓글을 달아 주세요