Một số đoạn code mô tả thực thi API

Một phần của tài liệu Tìm hiểu dịch vụ web RESTful và ứng dụng trong xây dựng hệ thống SMSGateway (Trang 68)

GET

Hình 5.1 chỉ ra đoạn code chương trình xử lý vấn để GET khi người dùng yêu cầu từ URI: http://localhost:8080/RFMOReceiver/restful/todos/MT?user_id=84932347686, sau khi dispatcher xử xý sẽ triệu gọi phương thức phù hợp với yêu cầu là GetMTByID() và trả về kết quả là một danh sách MT nếu thành công, danh sách rỗng nếu thất bại.

@GET

@Path("MT")

@Produces(MediaType.APPLICATION_XML)

public static List<ServiceData> GetMTByID(@QueryParam("user_id") String user_id)throws Exception{

return DBTool.getMTByID(user_id); }

Hình 5.3 chỉ ra đoạn code chương trình xử lý vấn đề GET khi mà ứng dụng yêu cầu trả lại kết quả là kiểu dữ liệu JSON.

Và kết quả trả về dạng dữ liệu JSON như trong hình 5.4:

@GET

@Path("MT")

@Produces(MediaType.APPLICATION_JSON)

public static List<ServiceData> GetMTByID(@QueryParam("user_id") String user_id)throws Exception{

return DBTool.getMTByID(user_id); }

public static List<ServiceData> getMTByID(String user_id) throws Exception { Connection conn = null;

PreparedStatement preStt = null; ResultSet rs = null;

List<ServiceData> vt=new ArrayList<ServiceData>(); try {

conn = getConnection();

String sql ="SELECT * FROM SEND_LOG WHERE user_id='"+user_id+"'";

preStt = conn.prepareStatement(sql); rs=preStt.executeQuery();

ServiceData data =null; while (rs.next()){

data = new ServiceData();

data.setUserId(rs.getString("user_id")); data.setMessage(rs.getString("message")); data.setServiceId(rs.getString("service_id")); data.setCommandCode(rs.getString("command_code")); data.setMsgType(rs.getString("message_type")); data.setRequestId(rs.getString("request_id")); data.setTotalMsg(rs.getString("total_msg")); data.setMsgIndex(rs.getString("msg_index")); data.setIsMore(rs.getString("is_more")); data.setContentType(rs.getString("content_type")); vt.add(data); } return vt;

} catch (Exception ex) { throw ex;

} finally {

closeConnection(conn, preStt);

} }

POST

Hình 5.5 chỉ ra đoạn code chương trình xử lý vấn đề POST khi người dùng yêu cầu từ form dữ liệu, sau khi dispatcher xử lý sẽ triệu gọi phương thức phù hợp với yêu cầu là

messageReceiver() và trả về kết quả là 1 nếu thành công, -1 nếu thất bại.

@POST (adsbygoogle = window.adsbygoogle || []).push({});

@Path("form")

@Produces(MediaType.TEXT_HTML)

@Consumes(MediaType.APPLICATION_FORM_URLENCODED)

public String messageReceiver(@FormParam("User_ID") String

User_ID,@FormParam("Service_ID") String Service_ID,@FormParam("Command_Code") String Command_Code,@FormParam("Message") String

Message,@FormParam("Request_ID") String Request_ID){ String MobileOperator=Util.getMobileOper(User_ID); String retvalue="-1";

ServiceData serviceData = new ServiceData(); serviceData.setRequestId(Request_ID); serviceData.setMobileOper(MobileOperator); serviceData.setUserId(User_ID); serviceData.setServiceId(Service_ID); serviceData.setCommandCode(Command_Code); serviceData.setMessage(Message); serviceData.setTimeStamp(Util.createTimestampFull()); try {

DBTool.createReceiveQueue(serviceData); retvalue="1"; } catch (Exception e) { retvalue="-1"; e.printStackTrace(); } finally { } return retvalue; }

Hình 5.5: Chức năng POST dữ liệu

{"serviceData":[{"commandCode":"LA","contentType":"0","isMore":"0","message":" Day la chuong trình spam thu cua dau so 6x66 - dang

pro","msgIndex":"1","msgType":"0","requestId":"111111111","serviceId":"6766"," totalMsg":"1","userId":"84932347686"},{"commandCode":"LA","contentType":"0","i sMore":"0","message":"Day la chuong trình spam thu cua dau so 6x66 - dang pro","msgIndex":"1","msgType":"0","requestId":"111111111","serviceId":"6766"," totalMsg":"1","userId":"84932347686"},

Một phần của tài liệu Tìm hiểu dịch vụ web RESTful và ứng dụng trong xây dựng hệ thống SMSGateway (Trang 68)