Jangan terlewatkan informasi terkini dari Pacoyos.com. Subscribe Now!

Cara membuat HTTP client untuk menghubungkan service

buat yang belum pada tau, HttpClient adalah sebuah cara untuk mengirimkan HTTP request dan menerima respon dari alamat yang kita minta tersebut, kalian dapat mengolah hasil respon dengan menggunakan method-method yang sudah disediakan di dalam class HttpClient tersebut. 

Berikut ini tahap-tahap menghubungkan service dengan service lain.
  1.  Buka visual studio , lalu buka terminal cmd dengan Ctrl + `  , jika belum memiliki visual studio sahabat dapat mendownloadnya disini
    membuat http client
  2. Di terminal ketikkan yo aspnet, kemudian pilih WEB API Application
    membuat http client
  3. Kemudian masukkan nama folder project, yo akan memproses dan membuat sebuah WEB API
    membuat http client
  4. Kemudian masuk ke folder dengan perintah cd , lalu restore project dengan dotnet restore setelah itu jalankan web  api dengan dotnet run.
    membuat http client
  5. Untuk mencobanya buka web browser lalu ketikkan url localhost:5000/api/values. Hasil terlihat seperti gambar dibawah ini.
    membuat http client

    sekilas terlihat sama seperti membuat Web Api menggunakan yeoman, namun nanti kita akan melakukan sedikit perubahan dalam pada file Controller
  6. Sebelumnya seperti ini Struktur direktori yang telah kita buat sebelumnya.
    membuat http client
  7. Untuk membuat service dapat berkomunikasi dengan service lain kita perlu mengubah file controller.cs di dalam folder Controller. Berikut kode untuk hellocontroller.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using Microsoft.AspNetCore.Mvc;
    using System.Net.Http;
    using servicehttpclient.model;

    namespace Service.Controllers
    {
        [Route("api/edi/[controller]")]
        public class HelloController : Controller
        {
            httpclientmodel client = new httpclientmodel();
            string _address= "api/selly/hello";

            // GET api/values
            [HttpGet]
            public async Task<IEnumerable<string>> Get()
            {
                var result = await client.GetProductAsync(_address);

                return new string[] { "Hello Edi", result };
            }

  8. Setelah mengubah controller , kita membuat model untuk controller tersebut. Buat folder baru dengan nama Model lalu buat file httpclientmodel.cs. Berikut kode untuk httpclientmodel.cs
    using System;
    using System.Net.Http;
    using System.Threading.Tasks;
    using System.Net.Http.Headers;

    namespace servicehttpclient.model
    {
        public class httpclientmodel
        {

            public async Task<string> GetProductAsync(string path)
            {
                HttpClient client = new HttpClient();
                
                string Hello = "";
                client.BaseAddress = new Uri("http://hello_selly/");
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                try
                {
                    HttpResponseMessage response = await client.GetAsync(path);
                    if (response.IsSuccessStatusCode)
                    {
                        Hello = await response.Content.ReadAsStringAsync();
                    }
                }catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
                return Hello;

            }

        }

    }
  9. Service sudah dapat diaplikasikan ke dalam docker dan dapat berkomunikasi dengan service lainnya.
Creator AnymPedia
© PACOYOS. All rights reserved. Developed by Jago Desain