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

微信公号嵌入网站开发洛阳网百姓呼声

微信公号嵌入网站开发,洛阳网百姓呼声,上海医院网站建设,效果图是怎么做出来的jax-rs配置当使用JAX-RS创建REST服务时#xff0c;通常不返回任何内容#xff08;例如HTTP 201/2/4等#xff09;或某些数据#xff08;可能采用JSON格式#xff08;因此HTTP 200#xff09;#xff0c;或者返回某些异常/错误#xff08;因此HTTP 4xx或5xx#xff09;… jax-rs配置 当使用JAX-RS创建REST服务时通常不返回任何内容例如HTTP 201/2/4等或某些数据可能采用JSON格式因此HTTP 200或者返回某些异常/错误因此HTTP 4xx或5xx 。 我们通常将运行时异常转换为某些HTTP 5xx将已检查异常转换为某些4xx。 因为我们要保持边界整洁所以当我们将Exception转换为HTTP响应时我们不会在响应的主体中包含完整的Java stacktrace。 我们通常只在HTTP 5xx有时是4xx响应中添加“ REASON”标头。 但是这意味着我们的大多数ExceptionMappers看起来都差不多类似这样 Providerpublic class SomeExceptionMapper implements ExceptionMapperSomeException {Overridepublic Response toResponse(SomeException exception) {return Response.status(500).header(reason, exception.getMessage()).build();}}使用MicroProfile Config API 我们可以使用MicroProfile Config API创建可配置的异常映射器从而使使用者可以将异常配置为HTTP响应代码映射。 我们的Provider将处理所有运行时异常 Providerpublic class RuntimeExceptionMapper implements ExceptionMapperRuntimeException {// ...} 我们同时Inject配置和提供者 Injectprivate Config config;Context private Providers providers; 当我们实现toResponse方法时我们会在配置中查看此Exception类的映射 OverrideProduces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})public Response toResponse(RuntimeException exception) {return handleThrowable(exception);}private Response handleThrowable(Throwable exception) {if(exception instanceof WebApplicationException) {return ((WebApplicationException) exception).getResponse();}if(exception!null){String configkey exception.getClass().getName() STATUS_CODE_KEY;OptionalInteger possibleDynamicMapperValue config.getOptionalValue(configkey,Integer.class);if(possibleDynamicMapperValue.isPresent()){int status possibleDynamicMapperValue.get();// You switched it offif(status0)return handleNotMapped(exception);String reason getReason(exception);log.log(Level.FINEST, reason, exception);return Response.status(status).header(REASON, reason).build();} else if(exception.getCause()!null exception.getCause()!null providers!null){final Throwable cause exception.getCause();return handleThrowable(cause);} else {return handleNotMapped(exception);}}return handleNullException();} 这里有完整的示例 我们还将向上处理异常链直到获得映射或者默认为正常的500错误。 因此我们可以为映射添加配置如下所示 ## 503 Service Unavailable: The server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state.org.eclipse.microprofile.faulttolerance.exceptions.CircuitBreakerOpenException/mp-jaxrs-ext/statuscode503## 401 Unauthorized (RFC 7235): Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided.javax.ws.rs.NotAuthorizedException/mp-jaxrs-ext/statuscode401 在上面的示例中我们将CircuitBreakerOpenException来自MicroProfile容错API映射到503将NotAuthorizedException映射到401。 屏幕截图示例 用作库。 您还可以将所有这些捆绑在一个jar文件中以供您的任何项目使用。 我在maven Central和github中提供了上述内容因此您也可以直接使用它。 只需将其添加到您的pom.xml dependencygroupIdcom.github.phillip-kruger.microprofile-extensions/groupIdartifactIdjaxrs-ext/artifactIdversion1.0.9/version/dependency 它带有一些预定义的映射但是您可以在配置中覆盖它。 翻译自: https://www.javacodegeeks.com/2018/08/jax-rs-exceptionmapper-config.htmljax-rs配置
http://www.zqtcl.cn/news/195075/

相关文章:

  • 西部数码域名网站模板wordpress抓取股票行情
  • 丰台深圳网站建设公司关于服装店网站建设的策划方案
  • win7 iis网站无法显示随州网站建设哪家实惠
  • 利用网站新媒体宣传法治建设建站哪个平台好
  • 网站seo课设wordpress 500 根目录
  • 电子商务网站建设的阶段化分析如何利用视频网站做数字营销推广
  • 电子商务网站建设ppt模板国外注册机网站
  • 西部数码做跳转网站百度seo排名培训优化
  • 农业网站素材wordpress all in one
  • 学习网站建设有前景没wordpress 和dokuwiki
  • 服装网站开发方案网站设计美工排版编辑
  • 旅游网站首页模板下载广州市建设工程检测中心网站
  • 餐饮加盟网站建设wordpress 首行缩进
  • kkday是哪里做的网站橙云 php网站建设
  • 站长之家0网站规划作品
  • 物流公司网站建设系统规划广告设计怎么学
  • 异地备案 网站中信建设有限责任公司经济性质
  • 网站没有备案怎么申请广告宿迁莱布拉网站建设
  • 太原适合网站设计地址网站建设 教学视频教程
  • 建商城网站需要多少钱网站开发维护报价单
  • 唐山网站建设冀icp备婚纱网站页面设计
  • 做购物网站支付需要怎么做手机网站建设教程
  • 国外网站空间租用哪个好建站快车打电话
  • 自媒体网站 程序做药公司的网站前置审批
  • 简洁网站模板素材廊坊建设企业网站
  • 长沙建站找有为太极就治就网站内容如何自动关联新浪微博
  • 手机企业网站设计理念企业建设网站的步骤是什么?
  • 网站建设与管理视频网站推广的方法枫子
  • 苏州市住房和城乡建设局官方网站宠物之家网站开发
  • 建个人网站活字格能开发企业网站吗