ایجاد وب سرویس با GO

shape
shape
shape
shape
shape
shape
shape
shape

چطور یک وب سرویس ساده با Go بنویسیم

در این مطلب قصد داریم در مورد ایجاد وب سرویس با GO صحبت کنیم.

سادگی

زبان از این ساده تریم داریم اصلا!
جدا از این شوخی به نسبت زبان های C و ++C بدون شک این زبان برای پروژه های پیچیده میتواند انتخاب بهتری باشد
منظور از ساده این است که شما کد حرفه ای را با همان قدرتمندی زبان C به صورتی ساده مینوسید در ادامه سادگی آن را خواهیم دید

همروندی

زبان go انتخاب بسیار خوبی برای برنامه نویسی همروند استبا استفاده از goroutine ها میتوان thread های متنوع را به سادگی پیاده و از آن استفاده کرد

از کاربرد های این زبان میتوان در

  • وب
  • برنامه نویسی سیستمی
  • شبکه

البته go برای برنامه های برنامه های Desktop , GUI-based زیاد مناسب نیست

نصب Go

لینوکس و مک
برای نصب در لینوکس و مک این اسکریپت را اجرا کنید
ویندوز
به وبسایت golang.org بروید و پکیج مربوط به ویندوز را دانلود و نصب کنید و سپس
Environment Variable تعریف کنید و …
این لیست آموزشی بسیار خوب است که اتفاقا آموزش نصب برای ویندوز را هم دارد

معماری نرم افزار

مثل همیشه RESTful!

بیشتر وبسرویس ها از معماری REST استفاده میکنند چون یک استاندارد برای معماری وب و پروتکل Http است

پروتکل REST این ویژگی هارا دارد

  • Layered System
  • Code On Demand
  • Cacheable
  • Uniform Interface
  • Stateless
  • Client-Server

البته این پروتکل خود جای چند مقاله دارد ولی با این حال چون عنوان مطلب موضوعی دیگر است ناچار به مشاهده این عکس ادامه کار را پی میگیریم

با توجه به عکس ما در واقع یک درگاه درست میکنیم که از طریق آن هر وسیله ای که بتواند به شبکه متصل شود بتواند از طریق آن درگاه اطلاعات مختلفی دریافت کند

این اطلاعات میتواند آدرس دنبال کنندگان ویرگول شما و یا میزان رطوبت خاک گلخانه شما باشد!

در واقع ما در طرف سمت راست تصویر اطلاعات مختلف را به هر صورتی از هر جایی جمع آوری میکنیم و سپس بر اساس درخواست های مختلف در قالب هایی آن هارا ارائه می کنیم

برای مثال لطفا به تصویر زیر نگاه کنید

برای دریافت لیست کل تصاویر که به هر صورتی از هر جایی جمع آوری شده فقط کافی است مثلا به آدرس 192.168.1.54 و مسیر photos/ برویم

لازم به ذکر است در این درخواست های فقط محدود به گرفتن یا به اصطلاح GET نمیشود

درخواست هایی دیگر مانند

  • فرستادن(POST)
  • حذف(DELETE)
  • بروزرسانی(UPDATE)

  • وجود دارد

خب دیگه بریم سر اصل مطلب

پیاده سازی

ابتدا یک فولدر ایجاد میکنیم

سپس وارد آن میشویم

مسیر یاب(Router)

ما از کتابخوانه mux برای اینکار استفاده میکنیم

ابتدا کتابخوانه را دریافت میکنیم

یک فایل به نام main.go ایجاد و کد زیر را مینوسیم

حالا لازم است مسیر هایی که میخواهیم را در main تعریف کنیم

به این صورت

حالا برنامه را اجرا میکنیم

اگر خطا گرفتید پس تا اینجا درست رفته اید

حالا باید برای هر یک از مسیر هایی که داخل main تعریف کرده ایم یک تابع می نویسیم

حال ساختار های زیر را در main.go بعد از بخش فراخوانی کتابخوانه ها تعریف میکنیم

خب تبریک میگم شما ساختار هارا تعریف کردید!

حالا یک سری داده پیش فرض در ساختار هایی که تعریف کرده ایم وارد میکنیم

در فایل main.go کد های زیر را بنویسید

یکبار دیگر build و اجرا کنید

حالا لطفا به آدرس http://localhost:8080 بروید

خب بسیار عالی شما باید لیست همه افرادی را که وارد کرده اید دریافت کنید

گرفتن اطلاعات یک فرد

در فایل main.go کد های زیر را بنویسید

ایجاد فرد جدید

در فایل main.go کد های زیر را بنویسید

حذف یک فرد

در فایل main.go کد های زیر را بنویسید

اگر هم مشکلی جایی وجود دارد که دلیلش را نمی دانید مخرن این پروژه در گیت هاب است

برای تست route هایی که میتوانید از Postman استفاده کنید

همچنین برای نمایش بهتر خروجی ها از این افزونه داخل کروم هم میتوانید استفاده کنید

لازم به ذکر است همانطور که اول مطلب گفته شد زبان Go نسبت به c++,c بسیار ساده تر است

البته این آموزش یک مثال خیلی خیلی ساده از استفاده این زبان بود

امروز کتابخوانه های بسیار قوی تر برای بستر های بزرگتر توسعه داده شده است که میتوان از آن ها استفاده کرد

منبع

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *