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

wordpress 超级搜索海淀区seo招聘信息

wordpress 超级搜索,海淀区seo招聘信息,网站开发的私活,个人计算机做服务器建网站在微服务架构体系中远程RPC调用主要包括Dubbo与Http调用两个大类#xff0c;由于Dubbo拥有服务注册中心#xff0c;并且起服务的命名非常规范#xff0c;使用包名.类名.方法名进行描述。 而http调用通常都是使用httpclient等相关类库#xff0c;这些在使用上并没有问题由于Dubbo拥有服务注册中心并且起服务的命名非常规范使用包名.类名.方法名进行描述。 而http调用通常都是使用httpclient等相关类库这些在使用上并没有问题但API都是分散在整个工程的各个地方如果HTTP调用也可以使用类似Dubbo服务的表示方法采用声明式定义就好了。 在开源的世界中只有想不到没有找不到为了解决Feign的声明式服务化管理Feign框架应运而生本文主要介绍如何使用Feign实现Http服务声明化管理与调用。 1.什么是Feign Feign是一个http请求调用的轻量级框架可以以Java接口注解的方式调用Http请求。Feign通过注解将请求模板化当实际调用的时候传入参数根据参数再应用到请求上进而转化成真正的请求封装了http调用流程。 2、快速入门实例 2.1定义客户端 首先要引入Feign的maven依赖如下图所示 dependencygroupIdcom.netflix.feign/groupIdartifactIdfeign-core/artifactIdversion8.18.0/version/dependency 2.2 定义服务调用API(类似Dubbo API) 服务调用的API声明代码如下所示 FeignClient public interface HelloControllerApi {RequestLine(GET /api/hello?name{name})String hello(Param(value name) String name); } 这里的要点是使用FeignClient进行声明。声明后就可以通过HelloControllerApi进行远程HTTP调用示例代码如下 public class HelloControllerApiTest {private HelloControllerApi service;Beforepublic void before(){service Feign.builder().options(new Request.Options(1000, 3500)).retryer(new Retryer.Default(5000, 5000, 3)).target(HelloControllerApi.class, http://127.0.0.1:8080);}Testpublic void hello(){// 调用http://127.0.0.1:8080/api/hello?nameworld 的http接口System.out.println(service.hello(world));}} 当然需要在调用方的启动类上增加EnableFeignClients(defaultConfiguration FeignConfiguration.class)注解。 2.3定义服务端 服务端与Feign并无关系主要按照API的方式实现即可服务端实现代码如下所示 Controller RequestMapping(value api) public class HelloController {RequestMapping(value /hello, method {RequestMethod.GET})ResponseBodypublic String list(RequestParam String name) {return Hello name;} }//启动类 SpringBootApplication(scanBasePackages {com.vhicool.manager}) public class ManagerApplication {public static void main(String[] args) {SpringApplication.run(ManagerApplication.class, args);} } 3.实现签名校验 上述只是简单实用Feign,接下来以实现签名校验为例展示Feign的扩展机制。 签名验证是最常见的安全机制首先在客户端定义一个签名拦截器用于生成签名信息示范代码如下图所示 public class AuthRequestInterceptor implements feign.RequestInterceptor {private TokenService tokenService;public AuthRequestInterceptor(TokenService tokenService) {this.tokenService tokenService;}Overridepublic void apply(RequestTemplate template) {template.header(token, tokenService.getToken());}} 并且在Feign的全局配置文件中创建对应的拦截器示例代码如下 public class FeignConfiguration {Beanpublic RequestInterceptor authRequestInterceptor(ResourceIdentity resourceIdentity) {AuthRequestInterceptor authRequestInterceptor new AuthRequestInterceptor(resourceIdentity);authRequestInterceptor.setErrorEncodeType(errorEncodeType);return authRequestInterceptor;} } 同时在服务端获取token并对token进行校验示例代码如下 Component public class AuthFilter implements Filter {Autowiredprivate TokenService tokeService;Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {String remoteToken ((HttpServletRequest) servletRequest).getHeader(token);if(!tokeService.valid(token)) {//异常处理逻辑return;}filterChain.doFilter(servletRequest, servletResponse);} } 4.服务端自动生成Feign 上面的示例虽然实现了服务接口的声明式管理但调用端、客户端并没有显示的约束关系接下来展示如何使用客户端、服务端使用继承方式定义服务调用API。 例如要实现如下图的效果 原生的Feign无法实现该效果我们需要使用OpenFeign类库两者之间的对比如下图所示 接下来详细介绍具体实现方法。 4.1 提取公共API 首先使用一个模块定义公共API,需要引入maven依赖代码示例如下所示 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency/dependencies 接下来定义公共的服务接口客户端、服务端都需要实现该接口公共服务端接口定义如下 public interface IUserController {RequestMapping(value user/list-all, method {RequestMethod.GET})ListString listAll(RequestParam String name); } 4.2 服务端实现公共API 首先需要添加相应的maven依赖代码如下 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdcom.vhicool/groupIdartifactIdfeign-api/artifactIdversion1.0-SNAPSHOT/versionscopecompile/scope/dependency 服务端采用继承方式实现具体代码如下所示 Controller RequestMapping public class UserController implements IUserController {OverrideResponseBodypublic ListString listAll(String name) {ArrayListString list new ArrayList();list.add(达菲);list.add(olu);list.add(name);return list;} } 4.3 客户端实现公共API 客户端首先同样需要增加相应的依赖具体代码如下所示 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactIdversion2.1.5.RELEASE/version/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopecompile/scope/dependencydependencygroupIdcom.vhicool/groupIdartifactIdfeign-api/artifactIdversion1.0-SNAPSHOT/versionscopecompile/scope/dependency 客户端服务调用类需要继承公共API: FeignClient(value user, url http://localhost:8080) public interface UserApi extends IUserController { } 同时客户端启动类需要增加EnableFeignClients注解具体示例代码如下所示 SpringBootApplication EnableFeignClients public class ManagerApplication {public static void main(String[] args) {SpringApplication.run(ManagerApplication.class, args);} } 同样基于Springboot编程方式可以为Feign配置全局参数具体如下 Configuration public class FeignConfiguration {/*** 请求超时时间* return*/Beanpublic Request.Options options() {return new Request.Options(2000, 3500);}//拦截器等定义 } 接下来客户端就可以用如下方式进行调用 RunWith(SpringRunner.class) SpringBootTest public class UserControllerTest {Autowiredprivate UserApi userApi;Testpublic void listAll() {System.out.println(userApi.listAll(饼饼));} } 当前项目编译的jar包类也已经被替换成我们自定义的类目标达成。 善用工具 成功的前端工程师很会善用工具这些年低代码概念开始流行像国外的 Mendix国内的 JNPF这种新型的开发方式图形化的拖拉拽配置界面并兼容了自定义的组件、代码扩展确实在 B 端后台管理类网站建设中很大程度上的提升了效率。 开源地址JNPF体验中心 代码量少系统的稳定性和易调整性都会得到一定的保障。基于代码生成器可一站式开发多端使用 Web、Android、IOS、微信小程序。代码自动生成后可以下载本地进行二次开发有效提高整体开发效率。同时支持多种云环境部署、本地部署给予最大的安全保障可以快速搭建适合自身应用场景的产品。
http://www.pierceye.com/news/445782/

相关文章:

  • 乐山乐人网站建设公司网站域名查主机名
  • 自适应网站的代表腰肌劳损的自我治疗和恢复的方法有什么?
  • 玉环城乡建设规划局网站企业网站源码带后台
  • 网站热点关键词免费可商用素材网站
  • 网站站内优化案例自己做的网页怎么上传网站吗
  • 深圳制作网站有用吗如何做网站优化
  • 皖住房建设厅网站the 7 wordpress
  • 怎么自己学着做网站写网站代码
  • 自己电脑上做的网站 怎么让别人看怎么做网站在谷歌
  • 同一ip 网站 权重怎样做才能发布你的网站
  • 上海利恩建设集团有限公司网站社交网站先做pc站可以吗
  • 用网站做淘宝客新媒体销售好做吗
  • 手机模板的网站哪个好wordpress关闭google字体
  • 医疗行业网站怎么做网站反链和外链的区别
  • html网站开发事例教程一起做网店官网下载
  • 中小企业网站优化锦州网站制作公司
  • 谁会在掏宝网上做网站网站开发与设计课程设计
  • 公司网站建设的改进的建议前潮网络网站建设
  • 济宁500元网站建设wordpress 安装错误
  • 网站建设周记网站建设公司面临的问题
  • 网站可视化编辑普通网站与营销型网站有什么区别
  • 网站 手机 微信 app福建网站开发企业
  • 台州网站制作推广net网站开发教程
  • seo的网站点个赞科技 网站制作
  • 百合网 网站 开发做推广都有什么网站
  • 娄底建设网站的公司wordpress 五色可选
  • 椒江网站建设公司企业网站建设合同书模板
  • 怎么给网站加ico图标怎么把网站横幅做很大
  • 中原郑州网站建设金乡县住房与城乡建设局网站
  • 网址收录网站wordpress安装位置