我正在做一个学校项目,我们应该使用Web服务进入现有数据库。我试图弄清楚从后端调用Web服务时的最佳做法。我之前一直在使用Servlet,我对它们了如指掌。
这是我的前端使用的Web服务,我需要知道在我的应用程序中调用外部Web服务时的最佳做法:
@GET
@Path("requestAccess")
public void getAccessToken(@Context HttpServletRequest request, @Context HttpServletResponse response)
{
String code = request.getParameter("code");
String clientId = "4_4inr3rkl04ys44kowwgoo0w4g8gow0s84cw0o0cg48kogsosc0";
String clientSecret = "4cxgpduio8isgcc8oggsw8wkcokcksk8wc8cc088w4w40owg4s";
String redirectUrl = "http://localhost:8080/salesgoals/rest/oauth/requestAccess";
try {
URL url = new URL("https://.../oauth/v2/token?client_id="+clientId+"&client_secret="+clientSecret+"&grant_type=authorization_code&redirect_uri="+redirectUrl+"&code="+code);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(url.openStream()));
String strTemp = "";
while(null != (strTemp = bufferedReader.readLine())){
System.out.println(strTemp);
}
} catch(Exception e){e.printStackTrace();}
}
这会返回一个访问令牌,外部Web服务的结果是JSON对象,带有inputstreamReader的url对象是temp。我曾经看过我是否成功接收了访问令牌。
现在我需要使用访问令牌来调用外部Web服务,但我不知道在应用程序中调用它时最佳做法是什么。我习惯了HttpServletRequest / Response对象。正如我所说,所有数据都以json的形式返回。