Quickstarters
Feature Overview
How to Build a Backend for Java?
37 นาที
บทนำ ในบทเรียนนี้ คุณจะได้เรียนรู้ วิธีการสร้างแบ็คเอนด์สำหรับ java แอปพลิเคชันโดยใช้ back4app java เป็นภาษาการเขียนโปรแกรมที่หลากหลายและเป็นเชิงวัตถุ ซึ่งใช้กันอย่างแพร่หลายสำหรับการพัฒนาเว็บและการพัฒนาแอปพลิเคชันฝั่งเซิร์ฟเวอร์ โดยการรวม back4app เข้ากับโปรเจกต์ java ของคุณ คุณสามารถใช้ประโยชน์จากฟีเจอร์แบ็คเอนด์ที่สำคัญ เช่น การจัดการฐานข้อมูลที่ปลอดภัย ฟังก์ชัน cloud code บริการเว็บ restful api graphql การตรวจสอบสิทธิ์ผู้ใช้ และการสอบถามแบบเรียลไทม์ — ทั้งหมดนี้ในขณะที่ลดภาระโครงสร้างพื้นฐาน วิธีการนี้ช่วยให้คุณเร่ง การพัฒนาแบ็คเอนด์ java และรับประกันความสามารถในการขยายตัว ทำให้คุณหลุดพ้นจากความซับซ้อนของการกำหนดค่าเซิร์ฟเวอร์ด้วยตนเอง คุณจะได้รับประสบการณ์จริงในการใช้เทคนิคเหล่านี้ ตั้งแต่การสร้างโครงสร้างข้อมูลไปจนถึงการกำหนดตารางงานด้วย cloud jobs และการรวมเว็บฮุค พื้นฐานนี้ช่วยให้คุณสร้างทุกอย่างตั้งแต่แอปเว็บขนาดเล็กไปจนถึง แอปพลิเคชัน java ขนาดใหญ่ ได้อย่างง่ายดาย หลังจากที่คุณทำตามคู่มือนี้เสร็จแล้ว คุณจะพร้อมที่จะสร้างหรือขยาย แอปพลิเคชันเว็บ ของคุณโดยใช้โครงสร้างพื้นฐานแบ็คเอนด์ที่แข็งแกร่งของ back4app คุณจะรู้วิธีเชื่อมต่อกับ parse java sdk เพื่อดำเนินการข้อมูล, นำการควบคุมการเข้าถึงไปใช้, และจัดการกับตรรกะทางธุรกิจที่ซับซ้อน บทเรียนนี้จะมอบทักษะที่จำเป็นให้คุณในการสร้างต่อบนแพลตฟอร์มนี้, เพิ่มฟีเจอร์ใหม่หรือปรับแต่งให้พร้อมสำหรับการผลิต ข้อกำหนดเบื้องต้น ในการทำบทเรียนนี้ให้เสร็จสิ้น, คุณจะต้องมี บัญชี back4app และโครงการ back4app ใหม่ เริ่มต้นใช้งาน back4app https //www back4app com/docs/get started/new parse app ลงทะเบียนฟรีหากคุณยังไม่มีบัญชี สภาพแวดล้อมการพัฒนา java คุณสามารถตั้งค่านี้ด้วย java backend frameworks หรือ java ides (เช่น intellij, eclipse, หรือ vs code ที่มี java) ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง java development kit (jdk) แล้ว ดาวน์โหลด jdk ล่าสุด https //www oracle com/java/technologies/downloads/ ความรู้พื้นฐานเกี่ยวกับภาษาโปรแกรม java ความคุ้นเคยกับ การเขียนโปรแกรมเชิงวัตถุ แนวคิด, โครงสร้างข้อมูล , และ บริการเว็บแบบ restful จะเป็นประโยชน์ เอกสารทางการของ java https //docs oracle com/en/java/ maven หรือ gradle สำหรับการจัดการการพึ่งพา (ไม่บังคับ) หากคุณวางแผนที่จะรวม parse java sdk โดยใช้เครื่องมือสร้าง, คุณควรติดตั้ง maven หรือ gradle เอกสาร maven https //maven apache org/ | เอกสาร gradle https //gradle org/docs/ ตรวจสอบให้แน่ใจว่าคุณมีข้อกำหนดเบื้องต้นทั้งหมดนี้ก่อนที่คุณจะเริ่มต้น การมีโครงการ back4app ของคุณพร้อมและการกำหนดค่าพื้นที่ java ของคุณจะทำให้บทเรียนนี้ราบรื่นขึ้น ขั้นตอนที่ 1 – สร้างโครงการใหม่บน back4app และเชื่อมต่อ สร้างโครงการใหม่ ขั้นตอนแรกใน การพัฒนา backend ด้วย java กับ back4app คือการสร้างโครงการใหม่ หากคุณยังไม่ได้สร้างหนึ่ง, ให้ทำตามขั้นตอนเหล่านี้ เข้าสู่ระบบบัญชี back4app ของคุณ คลิกที่ปุ่ม “new app” ในแดชบอร์ด back4app ของคุณ ตั้งชื่อแอปของคุณ (เช่น “java backend tutorial”) เมื่อโปรเจกต์ถูกสร้างขึ้น คุณจะเห็นมันปรากฏในแดชบอร์ด back4app ของคุณ โปรเจกต์นี้จะเป็นพื้นฐานสำหรับการตั้งค่าด้านหลังทั้งหมดที่กล่าวถึงในบทเรียนนี้ เชื่อมต่อกับ parse sdk back4app ขึ้นอยู่กับ parse platform เพื่อจัดการข้อมูลของคุณ ให้การอัปเดตแบบเรียลไทม์ จัดการการตรวจสอบสิทธิ์ของผู้ใช้ และอื่นๆ สำหรับ java โปรเจกต์ คุณสามารถรวม parse java sdk https //github com/parse community/parse sdk java ดึงคีย์ parse ของคุณ ในแดชบอร์ด back4app ของคุณ ให้ไปที่ app settings หรือ security & keys เพื่อค้นหา application id และ client key คุณจะเห็น parse server url (มักจะเป็น https //parseapi back4app com ) เพิ่ม parse java sdk ลงในโปรเจกต์ของคุณ หากคุณใช้ maven ให้เพิ่มสิ่งต่อไปนี้ใน pom xml \<dependency> \<groupid>com parse\</ >groupid> \<artifactid>parse\</ >artifactid> \<version>1 26 0\</ >version> \</dependency> หากคุณชอบ gradle ให้เพิ่มลงใน build gradle dependencies { implementation 'com parse\ parse 1 26 0' } เริ่มต้น parse ในโค้ด java ของคุณ (เช่น ในคลาสหลักหรือคลาสการกำหนดค่า) import com parse parse; public class main { public static void main(string\[] args) { parse initialize(new parse configuration builder("your app context") applicationid("your application id") clientkey("your client key") server("https //parseapi back4app com/") build() ); system out println("parse initialized successfully!"); // continue with your app logic } } แทนที่ "your app context" ด้วยบริบทจริงของคุณ (หากคุณมี) หรือส่ง null หากไม่จำเป็น โค้ดนี้ช่วยให้ เว็บแอปของคุณ หรือ แอปพลิเคชัน java ฝั่งเซิร์ฟเวอร์ สามารถสื่อสารกับ back4app ได้อย่างปลอดภัย ขั้นตอนที่ 2 – การตั้งค่าฐานข้อมูล back4app ให้บริการฐานข้อมูลที่โฮสต์และปรับขนาดได้ซึ่งรวมเข้ากับแอปของคุณได้อย่างราบรื่น java programming language คุณสามารถสร้างคลาส คอลัมน์ และความสัมพันธ์ได้โดยตรงในแดชบอร์ด back4app หรือในขณะนั้น 1\ การสร้างโมเดลข้อมูล คุณสามารถกำหนดคลาส (ตาราง) และคอลัมน์ของพวกเขาในฐานข้อมูล back4app ได้ ตัวอย่างเช่น การสร้างคลาส todo ไปที่ส่วน “ฐานข้อมูล” ในแดชบอร์ด back4app ของคุณ คลิก “สร้างคลาสใหม่” และตั้งชื่อมันว่า todo เพิ่มคอลัมน์ที่เกี่ยวข้อง (เช่น title เป็น string, iscompleted เป็น boolean) 2\ การสร้างโมเดลข้อมูลโดยใช้ ai agent ai agent ของ back4app สามารถสร้างสคีมาของคุณโดยอัตโนมัติ เปิด ai agent ในแดชบอร์ดของคุณ อธิบายข้อมูลของคุณ (เช่น “สร้างคลาส todo ใหม่ที่มีฟิลด์ title และ iscompleted”) ตรวจสอบและใช้ สคีมาที่สร้างโดย ai 3\ การอ่านและเขียนข้อมูลโดยใช้ parse java sdk ด้านล่างนี้เป็นตัวอย่างสั้น ๆ ของวิธีที่คุณสามารถบันทึกและค้นหาข้อมูลในฐานข้อมูลโดยใช้ java import com parse parseobject; import com parse parsequery; import com parse parseexception; import com parse parsecloud; import java util list; public class todoservice { // create a new todo public void createtodoitem(string title, boolean iscompleted) { parseobject todo = new parseobject("todo"); todo put("title", title); todo put("iscompleted", iscompleted); try { todo save(); system out println("todo saved successfully with objectid " + todo getobjectid()); } catch (parseexception e) { system err println("error saving todo " + e getmessage()); } } // fetch all todos public void fetchtodos() { parsequery\<parseobject> query = parsequery getquery("todo"); try { list\<parseobject> results = query find(); system out println("fetched " + results size() + " todo items "); for (parseobject todo results) { system out println(" " + todo getstring("title")); } } catch (parseexception e) { system err println("error fetching todos " + e getmessage()); } } } 4\ การอ่านและเขียนข้อมูลโดยใช้ rest api ทางเลือก ใช้ rest endpoints curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 5\ การอ่านและเขียนข้อมูลโดยใช้ graphql api ใช้ส่วนติดต่อ graphql ของ back4app mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } 6\ การทำงานกับ live queries (ตัวเลือก) สำหรับ การอัปเดตแบบเรียลไทม์ ใน สถานการณ์การพัฒนาเว็บ back4app รองรับ live queries เปิดใช้งาน live queries ในแดชบอร์ดของคุณและรวมเข้ากับแอปพลิเคชัน java ของคุณหากเหมาะสมกับกรณีการใช้งานของคุณ (มักใช้ในแอปเว็บหรือแอปมือถือแบบเรียลไทม์) ขั้นตอนที่ 3 – การใช้ความปลอดภัยด้วย acls และ clps ภาพรวมสั้น ๆ acls (access control lists) และ clps (class level permissions) ช่วยปกป้องข้อมูลของคุณโดยการควบคุมว่าใครสามารถอ่านหรือเขียนวัตถุได้ ขั้นตอนทีละขั้นตอน สิทธิ์ระดับคลาส (clps) ไปที่ ฐานข้อมูล ในแดชบอร์ด back4app ของคุณ เลือกคลาส (เช่น, todo ) และเปิด สิทธิ์ระดับคลาส กำหนดกฎการอ่าน/เขียน เช่น การต้องการการตรวจสอบสิทธิ์ของผู้ใช้หรือการจำกัดการเข้าถึงสาธารณะ รายการควบคุมการเข้าถึง (acls) ใช้สิทธิ์ระดับวัตถุในโค้ด ตัวอย่างเช่น parseobject todo = new parseobject("todo"); todo put("title", "private task"); // grant owner read/write permission, remove public read/write todo setacl(new com parse parseacl(parseuser getcurrentuser())); try { todo save(); } catch (parseexception e) { e printstacktrace(); } นี่จะตั้งค่า acl เพื่อให้เฉพาะผู้ใช้ปัจจุบันสามารถอ่านหรือเขียนวัตถุ ขั้นตอนที่ 4 – การเขียนฟังก์ชัน cloud code ทำไมต้องใช้ cloud code cloud code เพิ่ม ตรรกะฝั่งเซิร์ฟเวอร์ สำหรับ การพัฒนาแบ็คเอนด์ java ของคุณ คุณสามารถเขียนฟังก์ชันที่กำหนดเอง ทริกเกอร์ และการตรวจสอบที่ทำงานบนเซิร์ฟเวอร์ของ back4app โดยไม่ต้องจัดการโครงสร้างพื้นฐานด้วยตนเอง นี่เหมาะสำหรับตรรกะทางธุรกิจที่ซับซ้อน การแปลงข้อมูล หรือการเรียก api ภายนอกอย่างปลอดภัย ฟังก์ชันตัวอย่าง สร้าง main js ในส่วน cloud code ของ back4app จากนั้นกำหนดฟังก์ชัน parse cloud define("gettodocount", async (request) => { const query = new parse query("todo"); const count = await query count(); return { totaltodos count }; }); การปรับใช้ ใช้ back4app cli b4a deploy หรือ ผ่านแดชบอร์ด โดยไปที่ cloud code > functions วางฟังก์ชันลงใน main js และคลิก deploy npm ใน cloud code ติดตั้งและเรียกใช้โมดูล npm ภายนอกหากจำเป็น ตัวอย่างเช่น คุณอาจต้องการเรียกใช้ไลบรารี node เพื่อจัดการงานเฉพาะใน cloud code ของคุณ โมดูลเหล่านี้ทำงานแยกจากโค้ด java ของคุณ แต่สามารถเรียกใช้จากแอปพลิเคชัน java ของคุณได้ตามที่อธิบายไว้ด้านล่าง การเรียกใช้ cloud code จาก java import com parse parsecloud; import java util hashmap; import java util map; public class cloudcodeexample { public void gettodocount() { try { map\<string, object> params = new hashmap<>(); map\<string, object> result = parsecloud callfunction("gettodocount", params); system out println("total todos " + result get("totaltodos")); } catch (exception e) { e printstacktrace(); } } } ขั้นตอนที่ 5 – การกำหนดค่าการตรวจสอบสิทธิ์ เปิดใช้งานการตรวจสอบสิทธิ์ผู้ใช้ คลาส parse user ของ back4app ทำให้การตรวจสอบสิทธิ์ง่ายขึ้น มันจัดการการเข้ารหัสรหัสผ่าน โทเค็นเซสชัน และการจัดเก็บข้อมูลอย่างปลอดภัยโดยอัตโนมัติ ตัวอย่างโค้ดใน java import com parse parseuser; import com parse parseexception; public class userservice { // sign up public void signupuser(string username, string password, string email) { parseuser user = new parseuser(); user setusername(username); user setpassword(password); user setemail(email); try { user signup(); system out println("user signed up successfully!"); } catch (parseexception e) { system err println("error signing up user " + e getmessage()); } } // log in public void loginuser(string username, string password) { try { parseuser user = parseuser login(username, password); system out println("user logged in " + user getusername()); } catch (parseexception e) { system err println("error logging in user " + e getmessage()); } } } การเข้าสู่ระบบด้วยโซเชียล parse สามารถรวมเข้ากับ google , facebook , apple , และอื่นๆ โดยทั่วไปคุณจะต้องติดตั้งไลบรารีเพิ่มเติมหรือใช้ตัวเชื่อมสำหรับแต่ละผู้ให้บริการ จากนั้นกำหนดค่าในโปรเจกต์ back4app ของคุณ เอกสารการเข้าสู่ระบบด้วยโซเชียล https //www back4app com/docs/platform/sign in with apple ขั้นตอนที่ 6 – การจัดการการจัดเก็บไฟล์ การอัปโหลดและการเรียกคืนไฟล์ back4app จะเก็บไฟล์ของคุณอย่างปลอดภัยโดยอัตโนมัติ ใช้ parsefile ใน java import com parse parsefile; import com parse parseobject; import java nio file files; import java nio file paths; public class fileservice { public void uploadfile(string filepath) { try { byte\[] data = files readallbytes(paths get(filepath)); parsefile parsefile = new parsefile("uploadedfile", data); parsefile save(); // uploads file parseobject fileobject = new parseobject("myfile"); fileobject put("file", parsefile); fileobject save(); system out println("file uploaded " + parsefile geturl()); } catch (exception e) { e printstacktrace(); } } } การพิจารณาด้านความปลอดภัย คุณสามารถกำหนดการอนุญาตในการอัปโหลดไฟล์ใน parse server ของคุณเพื่ออนุญาตให้ผู้ใช้ที่ผ่านการตรวจสอบเท่านั้นหรือเพื่อบล็อกการอัปโหลดสาธารณะ ขั้นตอนที่ 7 – การตรวจสอบอีเมลและการรีเซ็ตรหัสผ่าน ภาพรวม สำหรับ เว็บแอป , คุณจะต้องตรวจสอบอีเมลของผู้ใช้และให้ตัวเลือกในการรีเซ็ตรหัสผ่าน การตั้งค่าดashboard back4app ไปที่การตั้งค่าอีเมล ในแดชบอร์ด back4app ของคุณ เปิดใช้งานการตรวจสอบอีเมล และตั้งค่าเทมเพลต เปิดใช้งานการรีเซ็ตรหัสผ่าน เพื่อให้ผู้ใช้สามารถกู้คืนบัญชีของตนได้อย่างปลอดภัย การนำรหัสไปใช้ try { parseuser requestpasswordreset("user\@example com"); system out println("password reset request sent!"); } catch (parseexception e) { system err println("error requesting password reset " + e getmessage()); } ขั้นตอนที่ 8 – การกำหนดตารางงานด้วย cloud jobs ภาพรวมของ cloud jobs ใช้ cloud jobs เพื่อกำหนดตารางงาน เช่น การทำความสะอาดข้อมูลตามระยะเวลาหรือรายงานอัตโนมัติ สร้างงานใน main js parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); // example remove todos older than 30 days const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); ปรับใช้ จากนั้นกำหนดเวลาใน background jobs ส่วนของแดชบอร์ด back4app ของคุณ ขั้นตอนที่ 9 – การรวม webhooks การกำหนดและการตั้งค่า webhooks ช่วยให้คุณส่งคำขอ http ไปยังระบบภายนอกเมื่อเกิดเหตุการณ์บางอย่าง ตัวอย่างเช่น คุณอาจส่งข้อมูลไปยังเกตเวย์การชำระเงินหรือแพลตฟอร์มการวิเคราะห์เมื่อมีการสร้าง todo ใหม่ ไปที่แดชบอร์ดของแอปของคุณ > เพิ่มเติม > webhooks เพิ่ม webhook โดยระบุจุดสิ้นสุดภายนอก เลือกเหตุการณ์ใด ที่กระตุ้น webhook ขั้นตอนที่ 10 – สำรวจแผงผู้ดูแล back4app จะหามันได้ที่ไหน แผงผู้ดูแล back4app admin panel เป็นอินเทอร์เฟซที่ไม่ต้องเขียนโค้ดสำหรับการจัดการข้อมูล เปิดใช้งานได้ที่ app dashboard > more > admin app ฟีเจอร์ เมื่อเปิดใช้งานแล้ว คุณสามารถ ดู แก้ไข หรือ ลบ บันทึกโดยตรง กำหนดบทบาทสำหรับสมาชิกในทีมที่แตกต่างกัน ปรับแต่ง ui และจัดการข้อมูลสำหรับการพัฒนา แอปพลิเคชันระดับองค์กร บทสรุป โดยการทำตามคู่มือนี้เกี่ยวกับ วิธีสร้างแบ็กเอนด์สำหรับ java โดยใช้ back4app คุณได้ ตั้งค่า ฐานข้อมูลที่สามารถปรับขนาดได้ ดำเนินการ คำถามเรียลไทม์, บริการเว็บ restful , และ graphql สำหรับการเข้าถึงข้อมูล รวม มาตรการความปลอดภัยที่แข็งแกร่งด้วย acls และ clps ใช้ประโยชน์จาก cloud code สำหรับตรรกะด้านเซิร์ฟเวอร์ กำหนดค่า การตรวจสอบสิทธิ์ผู้ใช้ด้วยการยืนยันอีเมลและการรีเซ็ตรหัสผ่าน จัดเก็บและเรียกคืน ไฟล์สำหรับ แอปพลิเคชันเว็บ ของคุณ กำหนดเวลา งานเบื้องหลังสำหรับการดูแลข้อมูล เชื่อมต่อ webhooks สำหรับการรวมบริการของบุคคลที่สาม สำรวจ แผงผู้ดูแลระบบสำหรับการจัดการข้อมูลโดยไม่ต้องเขียนโค้ด ตอนนี้คุณมีความพร้อมที่จะขยาย เฟรมเวิร์กแบ็กเอนด์ java ของคุณเพื่อจัดการกับโหลดการผลิต, รวม api ภายนอก, และสร้างฟีเจอร์ขั้นสูง ด้วยพื้นฐานที่มั่นคงนี้ โครงการ ภาษาโปรแกรม java ของคุณสามารถไปถึงจุดสูงสุดใหม่ใน การพัฒนาเว็บ และอื่น ๆ ขั้นตอนถัดไป ปรับปรุงแบ็คเอนด์ของคุณ สำหรับระดับองค์กร การพัฒนาแบ็คเอนด์ java , เพิ่มตรรกะที่ซับซ้อนและโครงสร้างข้อมูลเฉพาะโดเมน รวมฟีเจอร์ขั้นสูง เช่น กระบวนการตรวจสอบสิทธิ์เฉพาะ, การเข้าถึงตามบทบาท, หรือ rest apis ของบุคคลที่สาม อ้างอิงเอกสารทางการของ back4app เพื่อเพิ่มความเข้าใจของคุณเกี่ยวกับการปรับแต่งประสิทธิภาพ, การบันทึก, และการวิเคราะห์ สำรวจบทเรียนเพิ่มเติม เกี่ยวกับการสร้างระบบแชท, บริการ iot, หรือแอปพลิเคชันระบุตำแหน่งเพื่อใช้ประโยชน์จากความสามารถเรียลไทม์ของ back4app