How to create RESTful Web service with Netbeans – MatrixParam

บทนำ (Overview)

บทความนี้นำเสนอวิธีการส่ง “parameter” อีกแบบโดยเรียกใช้ “@MatrixParam” ผ่าน  “URL” แต่มีความแตกต่างในการอ้างอิง “parameter” แต่ละตัวเล็กน้อย โดยเปลี่ยนคำสั่งขั้น parameter แต่ละตัวจาก ? เป็น ; และ & เป็น ;

ขั้นตอน (Steps)

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

 

ใส่ความเห็น