Merhaba Arkadaşlar Web Api Üzerine Json objeleri Javascript, Jquery ile gönderirken sorun yaşamıyoruz fakat C# ile bu tarz bir iş yaparken ufak tefek sorunlar çıkabiliyor. "RestSharp" denen bir libary keşfettim. Nuget aracılığı ile projeme dahil ettim. JSON.stringfy yerine "Newtonsoft.Json.JsonConvert.SerializeObject" ekledim. nuget aracılığı ile onuda eklemeniz gerekmektedir.
Bu RestSharp en güzel yanı POSTMAN denen chrome extention ile ortak çalışabilmesi, kodlarının otomatik üretilmesi ayrı bir olay. Aşağıdaki resimde çağrıyı hazırlıyoruz ve Generate Code diyerek bu ekrana ulaşıyoruz. Sonrası zaten kodu sisteme dahil etme işi oluyor.
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Collections.Generic;
using RestSharp;
[TestClass]
public class SyncController_Test
{
[TestMethod]
public void SyncController_Test_Get()
{
var url = "http://localhost:38405/api/Sync/GetJsonObject";
var client = new RestClient(url);
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
}
[TestMethod]
public void SyncController_Test_Post()
{
var client = new RestClient("http://localhost:38405/api/Sync/UploadMaterialSeriLot?id=1");
var request = new RestRequest(Method.POST);
request.AddHeader("accept", "application/json");
request.AddHeader("content-type", "application/json");
var jsonObject = Newtonsoft.Json.JsonConvert.SerializeObject(new{ Name="Test",SurName="Test"});
request.AddParameter("application/json", jsonObject, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
}
}