html5好的網站模板優(yōu)秀的營銷案例
泛微OA編寫后端Rest接口
前言
具體實現
運行結果
注意要點
總結
前言
在泛微E9中,可以通過注解的方式來編寫對外的接口,之前的版本都是通過編寫servlet類,然后在web.xml文件中將這個類和訪問路徑進行編輯之后才好在瀏覽器中通過輸入對應的url來進行訪問,這樣的話,每一次編寫對應的對外接口都比較麻煩
在泛微升級到E9之后,對應的jdk也從1.6升級到了1.8;已經可以支持通過使用注解來進行開發(fā)了,在泛微中使用注解進行開發(fā)的話就和之前在javaWeb中編寫Rest接口很類似了
雖然但是泛微規(guī)定了一系列的編寫規(guī)則就類似java的三層架構一樣,但是如果對代碼的美觀性以及規(guī)范性和可重用性不是特別在意的話完全可以通過一個類來實現整個接口的開發(fā)
具體實現
在編寫E9的Rest接口的時候,咱們必須要注意的是類的存放路徑的問題,只有將class文件放在服務器正確的包下才能訪問到對應的接口
在泛微的只是文檔中有對此的介紹【文檔中詳細說明了他的三層規(guī)范要求,但是我也說了對此不介意的可以直接一個類解決所有!!!】
package com.api.workflow.web.workflowPath;import java.util.HashMap;
import java.util.Map;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;import com.alibaba.fastjson.JSON;import weaver.conn.RecordSet;
import weaver.general.Util;/*** @author cxy**/
@Path("/workflow/test")
public class EcodeTestActionWorkflow {@GET@Path("/getInfo2")@Produces(MediaType.TEXT_PLAIN)public String test(@Context HttpServletRequest request,@Context HttpServletResponse response) {Map<String, String> map = new HashMap<>();RecordSet rs = new RecordSet();String sql = "select * from Resource where loginid = 'no123";rs.execute(sql);rs.first();String username = Util.null2String(rs.getString("lastname"));map.put("test", "test3");map.put("username", username);String jsonStr = JSON.toJSONString(map); System.out.println(jsonStr);return jsonStr;}}
當然了這只是我的一個小小的建議,如果你對代碼規(guī)范有自己的要求的話,完全可以按照她寫的三層架構來實現接口的【沒有任何問題,看你自己!!!】
運行結果
在把java文件編譯好的class文件放在對應的【workflowPath】包下之后,重啟服務器,即可通過訪問對應的URL訪問接口了
注意要點
- 接口的class文件存放位置一定要在workflowPath包下,只有這個包下的接口可以在類上通過@Path進行規(guī)定【我是說如果你打算用一個類來實現接口功能的話】
- 如果你發(fā)現你的注解對應的包無法導入,那么你需要查看你的lib里面是否有對應的jersey的包
總結
最后的最后,再一次強調,選擇使用三層架構以及選擇不使用都是個人自由哦~
如果有任何問題的話可以在評論區(qū)進行討論哦~