บทนำ (Overview)
บทความนี้นำเสนอวิธีการส่ง “parameter” อีกแบบโดยเรียกใช้ “@MatrixParam” ผ่าน “URL” แต่มีความแตกต่างในการอ้างอิง “parameter” แต่ละตัวเล็กน้อย โดยเปลี่ยนคำสั่งขั้น parameter แต่ละตัวจาก ? เป็น ; และ & เป็น ;
ขั้นตอน (Steps)
- ก่อนอื่นเริ่มต้นต้องเพิ่มคำสั่งดังนี้
import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.MatrixParam;
- จากนั้นเราสามารถเรียกใช้งาน “@MatrixParam” ดังนี้
@MatrixParam(“user”) String tmpUser @MatrixParam(“pass”) String tmpPass
- สามารถเขียน “Source-code” เป็นตัวอย่างได้ดังนี้
@GET @Path("/") public String checkLogin(@MatrixParam("user") String tmpUser, @MatrixParam("pass") String tmpPass) { return "Username: " + tmpUser + "..." + "Password: " + tmpPass ; }
- ทดสอบ “RESTful Web Servers” โดยเรียกไปที่ URL คือ http://localhost:8080/Server/resources/Login?user=admin&pass=1234 ได้ดังนี้
- ทดสอบ “RESTful Web Servers” โดยเรียกไปที่ URL คือ http://localhost:8080/Server/resources/Login;user=admin;pass=1234 ได้ดังนี้
- จากขั้นตอนที่ 4 เราจะพบว่า Parameter ไม่สามารถข้อมูลที่เราอ้างอิงไปประมวลผลได้ ต่างกับขั้นตอนที่ 5 สิ่งที่แตกต่างกันเพียงเล็กน้อยคือ การเปลี่ยนคำสั่งขั้น parameter แต่ละตัวจาก ? เป็น ; และ & เป็น ;
- เราสามารถสรุป “Source-code” ได้ดังนี้
package helloworld; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.MatrixParam; @Path("Login") public class LoginResource { @GET @Path("/") public String checkLogin(@MatrixParam("user") String tmpUser, @MatrixParam("pass") String tmpPass) { return "Username: " + tmpUser + "..." + "Password: " + tmpPass ; } }