Page 64 - การโปรแกรมเว็บ
P. 64
12-52 การโปรแกรมเว็บ
บรรทดั ที่ 14 การจัดการส่งออกผลลัพธ์ในรูปแบบของ xml ด้วยค�ำส่ัง @Produces
("application/xml")
บรรทัดท่ี 15 ภายในเมธอด convertCtoFfromInput มีการรับค่าพารามิเตอร์ด้วยค�ำสั่ง
@PathParam("c") และรบั ใสต่ ัวแปรที่เป็น Double ชอื่ ว่า c
บรรทดั ท่ี 16-18 คำ� สง่ั การท�ำงานเพอ่ื คำ� นวณการแปลงค่าอณุ หภมู จิ ากหน่วย C เปน็ F
บรรทัดท่ี 20-21 เป็นการเขียนแสดงผลลัพธ์ทไ่ี ด้จากการคำ� นวณ
บรรทัดท่ี 22-23 ส่งคืนคา่ ออกเปน็ ลักษณะของเอก็ ซ์เอม็ แอล
1.8 ตัวอย่างโค้ดในกรณีที่มีการสร้างเอพีไอเพื่อรับพารามิเตอร์มากกว่าหน่ึง ตัวอย่างนี้เป็นการ
ค�ำนวณค่า BMI ซึ่งต้องรับพารามิเตอร์จากเครื่องลูกข่ายจ�ำนวน 2 ค่า คือ ส่วนสูงและน้ําหนักเพ่ือมา
คำ� นวณ จากน้ันท�ำการส่งผลการคำ� นวณกลบั ในรปู แบบของเจสันให้กับเคร่ืองลูกขา่ ย สามารถเขยี นคำ� สง่ั
รบั คา่ พารามิเตอร์เพื่อใชค้ ำ� นวณ และคนื ค่าในรูปแบบของเจสนั ได้ดังนี้
BMIcalculator.java
1 package com.apiinfo.service;
2
3 import javax.ws.rs.GET;
4 import javax.ws.rs.Path;
5 import javax.ws.rs.PathParam;
6 import javax.ws.rs.Produces;
7 import javax.ws.rs.core.Response;
8
9 import org.codehaus.jettison.json.JSONException;
10 import org.codehaus.jettison.json.JSONObject;
11
12 @Path("/bmiservice")
13 public class BMIcalculator {
14
15 @Path("/{w}/{h}/")
16 @GET
17 @Produces("application/json")
18 public Response bmiCalculator(@PathParam("w") double w,
19 @PathParam("h") double h) throws JSONException {
20