วิธีเริ่มต้นใช้งาน API - พื้นฐาน 01
API (Application Programming Interface) คืออะไร
ชุดของกฎและโปรโตคอลที่ช่วยให้แอปพลิเคชันซอฟต์แวร์ต่างๆ สามารถสื่อสารกันได้ โดยกำหนดวิธีการจัดโครงสร้างคำขอและการตอบสนอง ทำให้นักพัฒนาสามารถใช้ฟังก์ชันหรือบริการที่กำหนดไว้ล่วงหน้าได้โดยไม่ต้องเข้าใจการทำงานภายใน
REST API ใน IDEA StatiCa Connection - คือ เว็บเซอร์วิสที่โฮสต์ในเครื่องซึ่งปฏิบัติตามหลักการ REST ช่วยให้ระบบสามารถสื่อสารโดยใช้วิธี HTTP มาตรฐานเพื่อดำเนินการกับทรัพยากร ซึ่งโดยทั่วไปแสดงในรูปแบบ JSON
แหล่งข้อมูลและ GITHUB
แหล่งที่มาของตัวอย่างที่มีอยู่และกำหนดไว้ล่วงหน้าเชื่อมโยงอยู่บน GitHub ของเรา:
วิธีเริ่มต้นใช้งาน
บทช่วยสอนนี้จะแนะนำร่วมกับภาษาโปรแกรม Python คุณสามารถดาวน์โหลดเวอร์ชันล่าสุดได้ที่นี่ คุณสามารถใช้ Integrated Development Environment (IDE) หลายตัวเป็นเครื่องมือสำหรับการเขียนโค้ด การดีบัก และการทดสอบอย่างมีประสิทธิภาพ ต่อไปนี้คือตัวเลือกบางส่วน:
วิธีรัน API
ตัวเปิด API สามารถพบได้ในโฟลเดอร์ที่จัดเก็บ IDEA StatiCa เวอร์ชันล่าสุดของคุณ เพียงรันไฟล์ปฏิบัติการ
หากคุณรัน "IdeaStatiCa.ConnectionRestApi.exe" CMD (Command Prompt) จะปรากฏขึ้น และคุณจะเห็น localhost ของคุณและสามารถเปิดแอป Swagger ที่ช่วยให้คุณเห็นโครงสร้างของโค้ดสำหรับควบคุม API กด Control + ปุ่มซ้ายของเมาส์ เพื่อเปิด Swagger
Swagger ในโหมดออนไลน์จะให้คำแนะนำเกี่ยวกับตัวเลือกของ API สำหรับการออกแบบการเชื่อมต่อ
วิธีเปิด Python และติดตั้งแพ็กเกจ API
ฉันใช้ PyCharm ซึ่งอธิบายขั้นตอนทั้งหมด วิธีการทำงานเหมือนกันกับเครื่องมืออื่นๆ เปิด Python และสร้าง New Project
ติดตั้งแพ็กเกจ " ideastatica_connection_api" เริ่มต้นด้วยการเปิด terminal และพิมพ์ "pip install ideastatica_connection_api" หากคุณรันคำสั่งนี้ library สำหรับ API จะถูกติดตั้ง
"pip install ideastatica_connection_api" - ใช้งานได้กับ IDEA StatiCa เวอร์ชันล่าสุด หากคุณมีเวอร์ชันเก่ากว่า คุณต้องระบุเวอร์ชันให้ชัดเจนเพื่อเรียกใช้ API library ที่เหมาะสม
(ตัวอย่างเช่น: "pip install ideastatica_connection_api==25.1.1.923" )
ขั้นตอนที่กล่าวมาข้างต้นเป็นสิ่งจำเป็นที่ต้องดำเนินการตามลำดับ มิฉะนั้น API จะไม่ทำงานอย่างถูกต้อง
เปิดโปรเจกต์ในแอปพลิเคชันบนเดสก์ท็อป
เป้าหมายคือการควบคุมการจำลองและผลลัพธ์ผ่านอินเทอร์เฟซ Python และอ่านผลลัพธ์โดยตรงในคอนโซล
เปิด splice connection และรันการคำนวณสำหรับ LE1 และรับผลลัพธ์ ดังที่คุณเห็น การตรวจสอบทั้งชุดผ่านทั้งหมด คุณสามารถดำเนินการต่อไปยัง Python ได้
Python script
นำเข้าแพ็กเกจที่จะช่วยให้สามารถใช้การคำนวณและเชื่อมต่อกับ localhost URL ได้
Source code:
## Link with baseUrl
import ideastatica_connection_api.connection_api_service_attacher as connection_api_service_attacher
กำหนดค่า logging ผ่านตัวแปร "baseUrl" ซึ่งจะดึง localhost ของคุณขึ้นมา ในขั้นตอนที่สอง ระบุ absolute path ของไฟล์ IDEA StatiCa Connection ของคุณ
Source code:
## Configure logging
baseUrl = "http://localhost:5000"
## Absolute path into folder with your python script and connection module
project_file_path = r"C:\Users\LukasJuricek\Desktop\API_IDEA\Splice.ideaCon"
print(project_file_path)
เชื่อมต่อ client กับบริการที่กำลังรันอยู่แล้ว (1) ใช้บล็อก try/except - เมื่อบล็อก try เกิดข้อผิดพลาด บล็อก except จะถูกดำเนินการ ในขั้นตอนแรกจำเป็นต้องเปิดโปรเจกต์ (2) และค้นหา project ID ของโปรเจกต์ของคุณซึ่งมีความเฉพาะตัวสำหรับทุกโปรเจกต์ IDEA StatiCa (3) หากคุณรัน script คุณจะสามารถอ่าน path ที่พิมพ์ออกมาพร้อม unique ID (4)
Source code:
with connection_api_service_attacher.ConnectionApiServiceAttacher(baseUrl).create_api_client() as api_client:
try:
## Open the project
openProject = api_client.project.open_project_from_filepath(project_file_path)
## Unique project ID that provide the control over the model
projectId = api_client.project.active_project_id
print(projectId)
ดึงข้อมูล "connection_ID" ที่จะระบุการเชื่อมต่อที่กำลังคำนวณ (1) รันการจำลองด้วยตัวแปร "calculation_run" ซึ่งต้องการพารามิเตอร์บังคับสองตัวที่ระบุในวงเล็บ (2) หากการจำลองเกิดขึ้น คุณจะเห็น connection ID และข้อมูลว่าการวิเคราะห์ของคุณผ่านแล้ว (3)
Source code:
## Opening project that will be calculated
connection = openProject.connections[0]
print(connection)
connection_ID = [connection.id]
## Assigning connection ID
calculation_run = api_client.calculation.calculate(
projectId,
connection_ID
)
print('Finished')
ในขั้นตอนสุดท้าย คุณจะสำรวจวิธีการพิมพ์ผลลัพธ์ (1) และวิธีการวนซ้ำผ่าน unity check ทั้งหมด (2) ที่แสดงตามมาตรฐานบนเดสก์ท็อป (3)
Source code:
## Postprocessing - extract the unity check of connection
Results = calculation_run[0].result_summary
## Loop over all unity checks like plates, bolts, welds
for results in Results:
print(results.unity_check_message)
except Exception as e:
print("Operation failed : %s\n" % e)
บทสรุป
คุณได้รับประสบการณ์กับ API สำหรับการออกแบบการเชื่อมต่อ คุณได้เรียนรู้ว่าต้องติดตั้งเครื่องมือใดบ้าง วิธีเชื่อมต่อบริการ REST API และวิธีจัดการกับโค้ด Python เพื่อรับผลลัพธ์