Quickstarters
CRUD Samples
How to Build a Basic CRUD App with Golang?
32 นาที
บทนำ ในคู่มือนี้ คุณจะได้เรียนรู้วิธีการพัฒนาแอปพลิเคชัน crud (สร้าง, อ่าน, อัปเดต, และลบ) ขั้นพื้นฐานโดยใช้ golang บทเรียนนี้ครอบคลุมการดำเนินการที่จำเป็นในการจัดการข้อมูลอย่างมีประสิทธิภาพ โดยใช้ back4app เป็นบริการแบ็กเอนด์ที่แข็งแกร่ง คุณจะสร้างเซิร์ฟเวอร์ golang ที่สื่อสารกับ back4app ผ่านการเรียก restful เริ่มต้น คุณจะสร้างและกำหนดค่าโครงการ back4app ที่ชื่อว่า basic crud app golang โครงการนี้จะทำหน้าที่เป็นฐานข้อมูลหลักสำหรับแอปพลิเคชันของคุณ ถัดไป คุณจะกำหนดโครงสร้างฐานข้อมูลที่สามารถขยายได้โดยการสร้างคอลเลกชันและฟิลด์ที่ละเอียด—ไม่ว่าจะทำด้วยตนเองหรือด้วยความช่วยเหลือจาก back4app ai agent การตั้งค่านี้จะทำให้ระบบของคุณพร้อมสำหรับการจัดการข้อมูลอย่างมีประสิทธิภาพผ่านการดำเนินการ crud หลังจากนั้น คุณจะเปิดใช้งาน back4app admin app ซึ่งเป็นเครื่องมือที่ใช้งานง่ายที่มีฟังก์ชันลากและวางเพื่อจัดการคอลเลกชันของคุณ สิ่งนี้ทำให้การสร้าง การอ่าน การอัปเดต และการลบระเบียนเป็นเรื่องง่าย สุดท้าย คุณจะรวมแบ็กเอนด์ golang ของคุณเข้ากับ back4app โดยใช้ rest apis พร้อมทั้งดำเนินการควบคุมความปลอดภัยที่แข็งแกร่งและการตรวจสอบสิทธิ์ผู้ใช้เมื่อจำเป็น เมื่อสิ้นสุดการสอนนี้ คุณจะมีเซิร์ฟเวอร์เว็บ golang ที่พร้อมใช้งานในระดับการผลิต ซึ่งรองรับการดำเนินการ crud พื้นฐานและเชื่อมต่อกับฐานข้อมูลที่จัดการโดย back4app ได้อย่างราบรื่น ข้อคิดสำคัญ เข้าใจวิธีการสร้างแอปพลิเคชัน crud ด้วย golang และจัดการข้อมูลโดยใช้ back4app ได้รับข้อมูลเชิงลึกเกี่ยวกับการตั้งค่าโครงสร้างพื้นฐานด้านหลังที่สามารถขยายได้และการรวมเข้ากับ golang rest api เรียนรู้การใช้ back4app admin app สำหรับการจัดการข้อมูลที่ไม่มีปัญหา ค้นพบเทคนิคการปรับใช้รวมถึงการทำให้เป็นคอนเทนเนอร์สำหรับการเปิดตัวอย่างรวดเร็ว ข้อกำหนดเบื้องต้น ก่อนเริ่มต้น ให้แน่ใจว่าคุณมีสิ่งต่อไปนี้ บัญชี back4app ที่มีการตั้งค่าโครงการใหม่ สำหรับคำแนะนำ ให้ตรวจสอบ เริ่มต้นใช้งานกับ back4app https //www back4app com/docs/get started/new parse app สภาพแวดล้อมการพัฒนา golang ติดตั้ง go https //golang org/doc/install (แนะนำให้ใช้เวอร์ชัน 1 16 หรือใหม่กว่า) ความเข้าใจพื้นฐานเกี่ยวกับ golang, rest apis, และ http servers อ้างอิงจาก เอกสารของ golang https //golang org/doc/ หากจำเป็น ขั้นตอนที่ 1 – การตั้งค่าโปรเจกต์ การสร้างโปรเจกต์ back4app ใหม่ เข้าสู่ระบบบัญชี back4app ของคุณ คลิกที่ปุ่ม “แอปใหม่” ในแดชบอร์ดของคุณ กรอกชื่อโปรเจกต์ basic crud app golang และทำตามคำแนะนำเพื่อสร้างโปรเจกต์ของคุณ สร้างโปรเจกต์ใหม่ หลังจากตั้งค่าโปรเจกต์เสร็จแล้ว คุณจะเห็นโปรเจกต์นั้นในแดชบอร์ด back4app ของคุณ พร้อมที่จะสนับสนุนการกำหนดค่าฝั่งหลังของคุณ ขั้นตอนที่ 2 – การออกแบบสคีมาฐานข้อมูล การกำหนดโครงสร้างข้อมูลของคุณ สำหรับแอปพลิเคชัน crud เบื้องต้น คุณจะสร้างหลายคอลเลกชัน นี่คือตัวอย่างของคอลเลกชันและฟิลด์ที่คุณอาจต้องการ 1\ คอลเลกชันรายการ คอลเลกชันนี้เก็บรายละเอียดเกี่ยวกับแต่ละรายการ สนาม ประเภทข้อมูล คำอธิบาย id รหัสวัตถุ คีย์หลักที่สร้างขึ้นโดยอัตโนมัติ ชื่อเรื่อง สตริง ชื่อหรือตำแหน่งของรายการ คำอธิบาย สตริง คำอธิบายสั้น ๆ ของรายการ สร้างเมื่อ วันที่ เวลาที่ทำเครื่องหมายการสร้างรายการ อัปเดตเมื่อ วันที่ เวลาที่ทำเครื่องหมายการอัปเดตครั้งล่าสุด 2\ การรวบรวมผู้ใช้ การเก็บรวบรวมนี้เก็บข้อมูลผู้ใช้และรายละเอียดการตรวจสอบสิทธิ์ สนาม ประเภทข้อมูล คำอธิบาย id รหัสวัตถุ คีย์หลักที่สร้างขึ้นโดยอัตโนมัติ ชื่อผู้ใช้ สตริง รหัสประจำตัวที่ไม่ซ้ำสำหรับผู้ใช้ อีเมล สตริง ที่อยู่อีเมลที่ไม่ซ้ำกันของผู้ใช้ รหัสผ่าน hash สตริง รหัสผ่านที่เข้ารหัสสำหรับการเข้าสู่ระบบ สร้างเมื่อ วันที่ เวลาที่บัญชีถูกสร้างขึ้น อัปเดตเมื่อ วันที่ เวลาที่บัญชีถูกปรับปรุงล่าสุด คุณสามารถตั้งค่าคอลเลกชันเหล่านี้ด้วยตนเองผ่านแดชบอร์ด back4app โดยการสร้างคลาสใหม่สำหรับแต่ละคลาสและกำหนดคอลัมน์ต่างๆ สร้างชั้นเรียนใหม่ คุณสามารถเพิ่มฟิลด์ใหม่ได้โดยการเลือกประเภทข้อมูล ตั้งชื่อฟิลด์ กำหนดค่าเริ่มต้น และระบุว่าจำเป็นต้องใช้หรือไม่ สร้างคอลัมน์ การใช้ back4app ai agent สำหรับการสร้าง schema back4app ai agent ซึ่งสามารถเข้าถึงได้ผ่านแดชบอร์ดของคุณ สามารถสร้าง schema ฐานข้อมูลของคุณโดยอัตโนมัติจากคำอธิบาย ฟีเจอร์นี้ช่วยให้การตั้งค่าโครงการเป็นไปอย่างราบรื่นและรับประกันความสอดคล้อง วิธีการใช้ ai agent เปิดใช้งาน ai agent เปิดแดชบอร์ด back4app ของคุณและค้นหา ai agent ภายใต้การตั้งค่าโปรเจกต์ อธิบายโมเดลข้อมูลของคุณ ป้อนข้อความที่อธิบายคอลเลกชันและฟิลด์ที่คุณต้องการ ตรวจสอบและใช้ เอเจนต์จะสร้างการกำหนดคอลเลกชัน ตรวจสอบและยืนยันการเปลี่ยนแปลง ตัวอย่างข้อความ create the following collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated primary key) \ title string \ description string \ created at date (auto generated) \ updated at date (auto updated) 2\) collection users \ fields \ id objectid (auto generated primary key) \ username string (unique) \ email string (unique) \ password hash string \ created at date (auto generated) \ updated at date (auto updated) วิธีนี้ช่วยประหยัดเวลาและช่วยให้แน่ใจว่าสคีมาของคุณมีความแข็งแกร่งและได้รับการปรับให้เหมาะสม ขั้นตอนที่ 3 – เปิดใช้งานแอปผู้ดูแลระบบและดำเนินการ crud ภาพรวมของแอปผู้ดูแลระบบ แอปผู้ดูแลระบบ back4app เป็นอินเทอร์เฟซที่ใช้งานง่ายและไม่ต้องเขียนโค้ดที่ช่วยให้คุณจัดการข้อมูลแบ็กเอนด์ของคุณ มันมีอินเทอร์เฟซแบบลากและวางสำหรับการสร้าง อ่าน อัปเดต และลบระเบียน เปิดใช้งานแอปผู้ดูแลระบบ เข้าถึงเมนู “เพิ่มเติม” บนแดชบอร์ด back4app ของคุณ เลือก “แอปผู้ดูแลระบบ” และจากนั้นคลิก “เปิดใช้งานแอปผู้ดูแลระบบ ” ตั้งค่าข้อมูลประจำตัวผู้ดูแลระบบของคุณ โดยการสร้างผู้ใช้ผู้ดูแลระบบเริ่มต้น ซึ่งยังช่วยกำหนดบทบาทและคอลเลกชันระบบ เปิดใช้งานแอปผู้ดูแลระบบ หลังจากเปิดใช้งาน ให้เข้าสู่ระบบแอปผู้ดูแลระบบเพื่อจัดการฐานข้อมูลของคุณ แดชบอร์ดแอปผู้ดูแลระบบ การใช้แอปผู้ดูแลระบบสำหรับงาน crud ภายในแอปผู้ดูแลระบบ คุณสามารถ สร้างบันทึก ใช้ปุ่ม “เพิ่มบันทึก” ในคอลเลกชัน (เช่น รายการ) เพื่อแทรกข้อมูลใหม่ อ่าน/อัปเดตบันทึก คลิกที่บันทึกเพื่อดูหรือแก้ไขรายละเอียด ลบบันทึก ลบบันทึกที่ล้าสมัยด้วยตัวเลือกลบ อินเทอร์เฟซนี้ทำให้การจัดการข้อมูลง่ายขึ้นด้วยการออกแบบที่ใช้งานง่ายแบบลากและวาง ขั้นตอนที่ 4 – การรวม golang กับ back4app ตอนนี้ที่แบ็กเอนด์ของคุณถูกกำหนดค่าและจัดการผ่านแอปผู้ดูแลระบบแล้ว ถึงเวลาที่จะเชื่อมต่อแอปพลิเคชัน golang ของคุณกับ back4app โดยใช้ restful endpoints การตั้งค่าโปรเจกต์ golang ของคุณ เริ่มต้นไดเรกทอรีโปรเจกต์ golang ของคุณ สร้างโฟลเดอร์ชื่อ basic crud app golang และรัน go mod init basic crud app golang ติดตั้งแพ็กเกจที่จำเป็น สำหรับบทเรียนนี้ ไลบรารีมาตรฐานเพียงพอ แต่คุณอาจเลือกเพิ่มไลบรารีภายนอกตามต้องการ ตัวอย่างโค้ดเพื่อดึงและแสดงรายการ ด้านล่างนี้คือตัวอย่างโปรแกรม golang ที่ดึงรายการจากคอลเลกชัน items ของคุณใน back4app package main import ( 	"encoding/json" 	"fmt" 	"io/ioutil" 	"log" 	"net/http" ) const ( 	appid = "your application id" 	restapikey = "your rest api key" ) type item struct { 	objectid string `json "objectid"` 	title string `json "title"` 	description string `json "description"` 	createdat string `json "createdat"` 	updatedat string `json "updatedat"` } type itemsresponse struct { 	results \[]item `json "results"` } func fetchitems() { 	url = "https //parseapi back4app com/classes/items" 	req, err = http newrequest("get", url, nil) 	if err != nil { 	 log fatalf("error creating request %v", err) 	} 	req header add("x parse application id", appid) 	req header add("x parse rest api key", restapikey) 	client = \&http client{} 	resp, err = client do(req) 	if err != nil { 	 log fatalf("error fetching items %v", err) 	} 	defer resp body close() 	body, err = ioutil readall(resp body) 	if err != nil { 	 log fatalf("error reading response %v", err) 	} 	var itemsresp itemsresponse 	if err = json unmarshal(body, \&itemsresp); err != nil { 	 log fatalf("error parsing json %v", err) 	} 	for , item = range itemsresp results { 	 fmt printf("title %s, description %s\n", item title, item description) 	} } func main() { 	fmt println("fetching items from back4app ") 	fetchitems() } โปรแกรมนี้ส่งคำขอ get ไปยังจุดสิ้นสุด items ของ back4app ถอดรหัสการตอบกลับ json และพิมพ์ชื่อและคำอธิบายของแต่ละรายการออกมา การขยายฟังก์ชัน crud คุณสามารถดำเนินการฟังก์ชันใน golang สำหรับ การสร้างรายการ ส่งคำขอ post พร้อมข้อมูลรายการ การอัปเดตรายการ ใช้คำขอ put หรือ post เพื่อแก้ไขบันทึกที่มีอยู่ การลบรายการ ส่งคำขอ delete เพื่อลบบันทึก รวมฟังก์ชันเหล่านี้เข้ากับเซิร์ฟเวอร์ http เต็มรูปแบบโดยใช้ net/http ของ go เพื่อจัดการเส้นทางสำหรับการดำเนินการ crud ของคุณ ขั้นตอนที่ 5 – การรักษาความปลอดภัยให้กับ backend ของคุณ การดำเนินการควบคุมการเข้าถึง เพิ่มความปลอดภัยให้กับข้อมูลของคุณโดยการใช้ access control lists (acls) เมื่อดำเนินการ crud ตัวอย่างเช่น ให้แน่ใจว่าผู้ใช้ที่ได้รับอนุญาตเท่านั้นที่สามารถแก้ไขหรือลบข้อมูลได้โดยการตั้งค่า acl ที่เหมาะสมผ่านแดชบอร์ดของ back4app และบังคับใช้ผ่าน api ของ golang ของคุณ การกำหนดค่าการอนุญาตระดับคลาส ปรับการอนุญาตระดับคลาส (clps) ในอินเทอร์เฟซของ back4app เพื่อจำกัดการเข้าถึงข้อมูลสำหรับผู้ใช้ที่ได้รับการตรวจสอบหรือบทบาทเฉพาะ ขั้นตอนที่ 6 – การตรวจสอบผู้ใช้ การตั้งค่าการจัดการบัญชี back4app ใช้คลาสผู้ใช้ของ parse สำหรับการตรวจสอบผู้ใช้ ในแอปพลิเคชัน golang ของคุณ ให้จัดการการลงทะเบียนและการเข้าสู่ระบบของผู้ใช้โดยการส่งคำขอไปยังจุดสิ้นสุด back4app ที่เหมาะสม ซึ่งอาจรวมถึง การลงทะเบียนผู้ใช้ คำขอ post พร้อมชื่อผู้ใช้ อีเมล และรหัสผ่าน การเข้าสู่ระบบผู้ใช้ การตรวจสอบข้อมูลประจำตัวและการจัดการโทเค็นเซสชัน รวมจุดสิ้นสุดเหล่านี้ภายในเซิร์ฟเวอร์ golang ของคุณเพื่อรักษาความปลอดภัยในการดำเนินการ crud ของคุณ ขั้นตอนที่ 7 – การปรับใช้แอปพลิเคชัน golang ของคุณ 7 1 การเตรียมการสร้างในสภาพการผลิต คอมไพล์โค้ด golang ของคุณ ในไดเรกทอรีโปรเจกต์ของคุณ ให้รัน go build o crud app ตรวจสอบไบนารี ตรวจสอบให้แน่ใจว่าไฟล์ที่สามารถเรียกใช้ได้ ( crud app ) ทำงานโดยไม่มีข้อผิดพลาด 7 2 การจัดระเบียบไฟล์โปรเจกต์ของคุณ โครงสร้างโปรเจกต์ของคุณอาจมีลักษณะดังนี้ basic crud app golang/ ├── main go ├── handlers go ├── models go ├── go mod └── readme md 7 3 การทำ containerizing ด้วย docker หากคุณต้องการการทำ containerization ให้รวม dockerfile เช่น \# use an official golang image to build the app from golang 1 18 alpine as builder \# set the working directory workdir /app \# copy go mod and go sum files copy go mod go sum / \# download dependencies run go mod download \# copy the source code copy \# build the application run go build o crud app \# use a minimal image to run the app from alpine\ latest workdir /root/ copy from=builder /app/crud app expose 8080 cmd \[" /crud app"] 7 4 การปรับใช้แอปพลิเคชันของคุณ ปรับใช้บนแพลตฟอร์มที่คุณต้องการ ไม่ว่าคุณจะเลือก vps, ผู้ให้บริการคลาวด์, หรือบริการปรับใช้ของ back4app ให้คุณอัปโหลดไฟล์ไบนารีหรือ docker container ของคุณ ตรวจสอบการปรับใช้ ตรวจสอบบันทึกและยืนยันว่า api endpoints ของคุณสามารถเข้าถึงได้ ทดสอบแอปพลิเคชัน เข้าถึง url ของเซิร์ฟเวอร์ของคุณเพื่อยืนยันว่าทุก crud endpoints ทำงานตามที่ตั้งใจ ขั้นตอนที่ 8 – สรุปและขั้นตอนถัดไป ทำได้ดีมาก! คุณได้สร้างแอปพลิเคชัน crud เบื้องต้นโดยใช้ golang และ back4app สำเร็จแล้ว คุณได้ตั้งค่าโครงการชื่อ basic crud app golang , ออกแบบคอลเลกชันสำหรับ items และ users และเชื่อมต่อ backend ของ golang ของคุณกับ back4app ผ่าน rest apis ขั้นตอนถัดไป ปรับปรุง api ของคุณ เพิ่ม endpoint เพิ่มเติมสำหรับการดูรายละเอียดของรายการ ความสามารถในการค้นหา หรือการอัปเดตแบบเรียลไทม์ ดำเนินการรักษาความปลอดภัยเพิ่มเติม สำรวจวิธีการตรวจสอบสิทธิ์ขั้นสูงและเพิ่มความปลอดภัยให้กับ endpoint ของคุณ สำรวจแหล่งข้อมูลเพิ่มเติม ปรึกษา เอกสาร back4app https //www back4app com/docs และ เอกสาร golang https //golang org/doc/ เพื่อข้อมูลเชิงลึกเพิ่มเติม โดยการติดตามบทแนะนำนี้ คุณมีพื้นฐานในการสร้างแอปพลิเคชัน crud ที่แข็งแกร่งและสามารถปรับขนาดได้ด้วย golang ซึ่งรวมเข้ากับ back4app ได้อย่างราบรื่น ขอให้สนุกกับการเขียนโค้ด!