当前位置: 首页 > news >正文

小程序代码做网站北京网站优化步

小程序代码做网站,北京网站优化步,wordpress滑块轮播,用ps做网站广告图互联网上有很多如何使用RESTful Client API的东西。 这些是基础。 但是#xff0c;尽管该主题看起来微不足道#xff0c;但仍然存在一些障碍#xff0c;尤其是对于初学者而言。 在这篇文章中#xff0c;我将尝试总结我的专业知识#xff0c;以及我如何在实际项目中做到这… 互联网上有很多如何使用RESTful Client API的东西。 这些是基础。 但是尽管该主题看起来微不足道但仍然存在一些障碍尤其是对于初学者而言。 在这篇文章中我将尝试总结我的专业知识以及我如何在实际项目中做到这一点。 我通常使用Jersey用于构建RESTful服务的参考实现。 参见例如我的其他帖子 。 在本文中我将从JSF bean调用真正的远程服务。 让我们编写一个会话范围的bean RestClient。 package com.cc.metadata.jsf.controller.common;import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource;import java.io.Serializable; import javax.annotation.PostConstruct; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext;/*** This class encapsulates some basic REST client API.*/ ManagedBean SessionScoped public class RestClient implements Serializable {private transient Client client;public String SERVICE_BASE_URI;PostConstructprotected void initialize() {FacesContext fc FacesContext.getCurrentInstance();SERVICE_BASE_URI fc.getExternalContext().getInitParameter(metadata.serviceBaseURI);client Client.create();}public WebResource getWebResource(String relativeUrl) {if (client null) {initialize();}return client.resource(SERVICE_BASE_URI relativeUrl);}public ClientResponse clientGetResponse(String relativeUrl) {WebResource webResource client.resource(SERVICE_BASE_URI relativeUrl);return webResource.accept(application/json).get(ClientResponse.class);} } 在此类中我们获得了在web.xml中指定配置的服务基础URI。 context-paramparam-namemetadata.serviceBaseURI/param-nameparam-valuehttp://somehost/metadata//param-value /context-param 此外我们编写了两种方法来接收远程资源。 我们打算接收JSON格式的资源并将其转换为Java对象。 下一个bean演示了如何对GET请求执行此任务。 Bean HistoryBean通过使用GsonConverter将接收到的JSON转换为Document对象。 最后两节将不在此处显示没关系。 Document是一个简单的POJOGsonConverter是一个包装Gson的单例实例。 package com.cc.metadata.jsf.controller.history;import com.cc.metadata.jsf.controller.common.RestClient; import com.cc.metadata.jsf.util.GsonConverter; import com.cc.metadata.model.Document;import com.sun.jersey.api.client.ClientResponse;import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import javax.annotation.PostConstruct; import javax.faces.bean.ManagedBean; import javax.faces.bean.ManagedProperty; import javax.faces.bean.ViewScoped;/*** Bean getting history of the last extracted documents.*/ ManagedBean ViewScoped public class HistoryBean implements Serializable {ManagedProperty(value #{restClient})private RestClient restClient;private ListDocument documents;private String jsonHistory;public ListDocument getDocuments() {if (documents ! null) {return documents;}ClientResponse response restClient.clientGetResponse(history);if (response.getStatus() ! 200) {throw new RuntimeException(Failed service call: HTTP error code : response.getStatus());}// get history as JSONjsonHistory response.getEntity(String.class);// convert to Java array / list of Document instancesDocument[] docs GsonConverter.getGson().fromJson(jsonHistory, Document[].class);documents Arrays.asList(docs);return documents;}// getter / setter... } 下一个bean演示了如何通过POST与远程服务进行通信。 我们打算发送上传文件的内容。 我使用PrimeFaces的 FileUpload组件以便可以从侦听器的参数FileUploadEvent中提取内容作为InputStream。 这在这里并不重要您也可以使用任何其他Web框架来获取文件内容也可以作为字节数组。 更重要的是看看如何处理RESTful客户端类FormDataMultiPart和FormDataBodyPart。 package com.cc.metadata.jsf.controller.extract;import com.cc.metadata.jsf.controller.common.RestClient; import com.cc.metadata.jsf.util.GsonConverter; import com.cc.metadata.model.Document;import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource; import com.sun.jersey.core.header.FormDataContentDisposition; import com.sun.jersey.multipart.FormDataBodyPart; import com.sun.jersey.multipart.FormDataMultiPart;import org.primefaces.event.FileUploadEvent;import java.io.IOException; import java.io.Serializable; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.ManagedProperty; import javax.faces.bean.ViewScoped; import javax.faces.context.FacesContext;import javax.ws.rs.core.MediaType;/*** Bean for extracting document properties (metadata).*/ ManagedBean ViewScoped public class ExtractBean implements Serializable {ManagedProperty(value #{restClient})private RestClient restClient;private String path;public void handleFileUpload(FileUploadEvent event) throws IOException {String fileName event.getFile().getFileName();FormDataMultiPart fdmp new FormDataMultiPart();FormDataBodyPart fdbp new FormDataBodyPart(FormDataContentDisposition.name(file).fileName(fileName).build(),event.getFile().getInputstream(), MediaType.APPLICATION_OCTET_STREAM_TYPE);fdmp.bodyPart(fdbp);WebResource resource restClient.getWebResource(extract);ClientResponse response resource.accept(application/json).type(MediaType.MULTIPART_FORM_DATA).post(ClientResponse.class, fdmp);if (response.getStatus() ! 200) {throw new RuntimeException(Failed service call: HTTP error code : response.getStatus());}// get extracted document as JSONString jsonExtract response.getEntity(String.class);// convert to Document instanceDocument doc GsonConverter.getGson().fromJson(jsonExtract, Document.class);...}// getter / setter... } 最后但并非最不重要的一点我想演示如何使用任何查询字符串URL参数发送GET请求。 下一个方法通过看起来像http// somehost / metadata / extractfile some file path的URL询问远程服务。 public void extractFile() {WebResource resource restClient.getWebResource(extract);ClientResponse response resource.queryParam(file, path).accept(application/json).get(ClientResponse.class);if (response.getStatus() ! 200) {throw new RuntimeException(Failed service call: HTTP error code : response.getStatus());}// get extracted document as JSONString jsonExtract response.getEntity(String.class);// convert to Document instanceDocument doc GsonConverter.getGson().fromJson(jsonExtract, Document.class);... } 参考 在软件开发博客上 我们的JCG合作伙伴 Oleg Varaksin 使用RESTful Client API进行GET / POST 。 翻译自: https://www.javacodegeeks.com/2013/01/get-post-with-restful-client-api.html
http://www.zqtcl.cn/news/365840/

相关文章:

  • 怎么设立网站美区下载的app怎么更新
  • 建立网站ppt做酒店网站所用到的算法
  • 上海网站建设的价格低太仓做网站的公司
  • 怎样登录建设互联网站怎么做中英文网站
  • 云网站7china中小企业网站建设好么
  • 美丽南方官网网站建设国际新闻最新消息今天摘抄
  • 牛商网营销型网站多少钱江门营销型网站建设多少钱
  • 小榄公司网站建设网站交互做的比较好的
  • 深圳定制网站建设怎么改版网站
  • 免费学软件的自学网站江阴建设局网站
  • 网站做多久苍南县网站集约化建设
  • 深圳电子烟网站建设罗湖建设公司网站建设
  • 酒店 深圳 网站建设新项目首码对接平台
  • 岳阳市住房和城乡建设局网站上海专业网站建设网
  • 营销型网站建设设定包括哪些方面网站建设后的心得
  • 建立网站来网上销售的英文潢川城乡建设局网站
  • 仿站建站教程网站怎么接广告
  • 免费下载代码项目的网站长春网站建设找新生科技
  • 博兴县建设局网站做网站要用什么服务器吗
  • 成都中小企业网站建设公司怎么挑选网站建设公司
  • 万源网站建设在ppt里面做网站链接
  • 做网站时怎么添加动态信息中铁航空港建设集团网站
  • 文化礼堂建设情况网站网站建设运行
  • 自己做网站很难asp网站开发四酷全书:新闻_论坛_电子商城_博客
  • 网站建设入什么会计科目从网络安全角度考量请写出建设一个大型电影网站规划方案
  • 品牌建设+网站网站建设 淘宝客末班
  • 建设商业网站学校建设门户网站的好处
  • 男女朋友在一起做那个的网站公司建设网站
  • 营销型网站的类型有哪些相册网站怎么做
  • 河南建设监理协会网站电话erp管理系统官网