บทความนี้ส่วนใหญ่ศึกษาเนื้อหาที่เกี่ยวข้องของการสนับสนุนของ SpringMVC สำหรับ Restfull ดังต่อไปนี้
Restful Architecture เป็นสถาปัตยกรรมซอฟต์แวร์อินเทอร์เน็ตยอดนิยม มันมีโครงสร้างที่ชัดเจนสอดคล้องกับมาตรฐานเข้าใจง่ายและง่ายต่อการขยายดังนั้นจึงถูกนำมาใช้โดยเว็บไซต์มากขึ้นเรื่อย ๆ สถาปัตยกรรมพักผ่อนระบุ URL URL ในรูปแบบ restful มีลักษณะอย่างไร URL ที่เราร้องขอโดยทั่วไปจะมีลักษณะเช่นนี้:
http: //ex./xxx.action? id = 001 & type = aaa
แล้วสไตล์ URL ของ REST มีลักษณะอย่างไร? โดยทั่วไปมันคล้ายกับ:
http: //ex/xxx/001
ดังนั้น REST จึงมีคุณสมบัติที่ชัดเจนมาก: ทำให้ URL กระชับและส่งพารามิเตอร์ไปยังเซิร์ฟเวอร์ผ่าน URL SpringMVC ยังรองรับ URL แบบพักผ่อนนี้ มากำหนดคอนโทรลเลอร์เพื่อทดสอบ:
// ข้อมูลผลิตภัณฑ์แบบสอบถาม, เอาท์พุท json, ใช้ restful@requestmapping ("/itemsView/{id}") สาธารณะ @ResponseBody itemitionscustom itementView (@PathVariable ("ID") จำนวนเต็ม) โยนข้อยกเว้น ส่งคืนรายการ custom;} @ResponseBody เป็นคำอธิบายประกอบที่ใช้ในการแปลง itemsCustom เป็น JSON ในขณะที่ @PathVariable Annotation เกี่ยวข้องกับการพักผ่อน {id} ใน @RequestMapping(value=”/ itemsView/{id}”) แสดงถึงตัวยึดตำแหน่ง จากนั้นค่าที่ส่งผ่านที่นี่จะถูกส่งผ่านไปยังพารามิเตอร์อย่างเป็นทางการที่ทำเครื่องหมายโดย @PathVariable หากพารามิเตอร์อย่างเป็นทางการเหมือนกับตัวแปรในตัวยึดตำแหน่งคุณไม่สามารถระบุได้ในคำอธิบายประกอบอีกต่อไปมิฉะนั้นตัวแปร (เช่น ID) ในตัวยึดตำแหน่งนี้ควรระบุไว้ในคำอธิบายประกอบ ด้วยวิธีนี้พารามิเตอร์สามารถส่งผ่าน URL ไปยังพารามิเตอร์ที่เป็นทางการ
แต่นี่ไม่ทำงานและคุณยังต้องกำหนดค่าการพักผ่อนในคอนโทรลเลอร์ส่วนหน้าดังนี้:
<!-กำหนดค่าคอนโทรลเลอร์ front-end ของ SpringMVC, DispatchERSerVlet, การกำหนดค่า REST-> <servlet> <servlet-name> springmvc_rest </servlet-name> <servlet-lass> org.springframework.web.servlet.dispatcherservlet <param-value> classpath: Spring/Springmvc.xml </param-value> </itrin-Param> </servlet> <servlet-mapping> <servlet-name> springmvc_rest </servlet-name> <url-pattern>/</url-pattern>
การสกัดกั้น URL ทั้งหมด (/) การกำหนดค่านี้ไม่มีความขัดแย้งกับคอนโทรลเลอร์ส่วนหน้าที่กำหนดค่าไว้ก่อนหน้านี้และสามารถอยู่ร่วมกันได้ หลังจากการกำหนดค่านี้คุณสามารถป้อน http: // localhost: 8080/springmvc_study/itemsview/1 ในเบราว์เซอร์เพื่อทดสอบข้อมูลที่ส่งคืนไปยังเบราว์เซอร์ คุณจะเห็นว่าสตริงของข้อมูล JSON จะถูกส่งคืน
แต่มีปัญหา หลังจากใช้การกำหนดค่าข้างต้น URL ทั้งหมดจะถูกสกัดกั้นและทรัพยากรคงที่จะถูกสกัดกั้น ดังนั้น Dispatcherservlet จะแยกวิเคราะห์ทรัพยากรคงที่ แต่สิ่งนี้จะทำให้เกิดข้อผิดพลาดดังนั้นเราจึงต้องตั้งค่าเพื่อไม่แยกวิเคราะห์ทรัพยากรคงที่ ชอบ:
<!-การแยกวิเคราะห์ทรัพยากรแบบคงที่รวมถึง JS, CSS, IMG ...-> <MVC: ทรัพยากรตำแหน่ง = "/JS/" การแมป = "/JS/**"> </mVC: ทรัพยากร> <mvc: แหล่งข้อมูล = "/img/" maping = "/img/**"> </mvc:
หากมีทรัพยากรคงที่อื่น ๆ คุณควรตั้งค่าไว้เพื่อที่คุณจะไม่แยกวิเคราะห์ทรัพยากรคงที่ คุณสามารถเข้าถึงได้โดยตรงเมื่อเข้าถึงทรัพยากรคงที่
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้เกี่ยวกับการอภิปรายสั้น ๆ เกี่ยวกับการสนับสนุนของ SpringMVC สำหรับ Restfull และฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!