SpringCloud的服务接口基本等同于SpringBoot开发的api接口,只不过在springCloud需要将自己的服务注册到注册中心,通过网关统一访问路径

一个简单的api接口

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.springcloud.demo</groupId><artifactId>eureka-user</artifactId><version>dev</version><packaging>jar</packaging><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.7.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><!--main方法类 --><start-class>com.cc.yonyou.rndealer.BootMain</start-class><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><spring-cloud.version>Dalston.SR4</spring-cloud.version><!-- 同该版本feign集成需要swagger 2.5.0版本以上 --><swagger.version>2.5.0</swagger.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-feign</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-hystrix-dashboard</artifactId></dependency><!--base64加密解密  --><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.10</version></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.1.1</version></dependency><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.2</version><scope>compile</scope><optional>true</optional></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.2.2</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.25</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.2.2</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.25</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.20</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.12</version></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>4.1.6</version></dependency><!-- Swagger --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>${swagger.version}</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>${swagger.version}</version></dependency><dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-redis</artifactId> <version>1.3.8.RELEASE</version> </dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.20</version></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><!--打包跳过测试插件--><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><skip>true</skip></configuration></plugin></plugins></build></project>

application.properties

#eureka
spring.application.name = user
server.port=12003
eureka.client.serviceUrl.defaultZone=http://localhost:12000/eureka/
feign.hystrix.enabled=true#mybatis
mybatis.type-aliases-package=com.springcloud.demo.domain
mybatis.mapper-locations=classpath*:/mapper/*Mapper.xml
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.configuration.use-generated-keys=true
mybatis.configuration.default-fetch-size=100
mybatis.configuration.default-statement-timeout=30#datasource
spring.datasource.username=root
spring.datasource.password=mysql
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
spring.datasource.maxWait=60000
spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.validationQuery=SELECT 1
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
spring.datasource.filters=stat
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

BootMain.java

package com.springcloud.demo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;import springfox.documentation.annotations.ApiIgnore;
import springfox.documentation.swagger2.annotations.EnableSwagger2;@Controller
@SpringBootApplication
@ApiIgnore
@EnableScheduling
@EnableDiscoveryClient
@EnableFeignClients
@EnableSwagger2
@EnableHystrixDashboard
public class BootMain {public static void main(String[] args) {SpringApplication.run(BootMain.class, args);}@RequestMapping("/help")public String help() {return "redirect:swagger-ui.html";}}

api接口uers.java

package com.springcloud.demo.api;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;@RestController
public class UserApi {@RequestMapping(value="/test",method=RequestMethod.GET)public String test() {return "Hello World";}
}

基本代码与我们常写得api接口无异,只是在application.properties文件中添加了注册中心的路径

SpringCloud——服务接口(api)相关推荐

  1. Java互联网架构-如何设计服务接口API限流功能

    API 概念的出现,远远早于个人计算机的诞生,更不用说网络的诞生了.在公用数据处理的早期,为了一个应用能够与其它系统交互,开发者便已开始设计可公开访问并描述清晰的"接入点".早在那 ...

  2. 服务接口API限流 Rate Limit

    转载:https://www.cnblogs.com/exceptioneye/p/4783904.html https://blog.csdn.net/zrg523/article/details/ ...

  3. 客快物流大数据项目(一百零七):物流信息查询服务接口开发解决方案

    文章目录 物流信息查询服务接口开发解决方案 一.业务需求 二.系统架构演变 1.​​​​​​​集中式架构 2.​​​​​​​​​​​​​​垂直拆分 3.分布式服务 ​​​​​​​4.面向服务架构(SO ...

  4. 微服务之API网关接口设计

    微服务之API网关接口设计 API网关,顾名思义,就是外部到内部的一道门,其主要功能: 服务路由:将前段应用的调用请求路由定位并负载均衡到具体的后端微服务实例,对于前端应用看起来就是1个应用提供的服务 ...

  5. 手把手教你搭建SpringCloud项目(九)集成OpenFeign服务接口调用

    Spring Cloud全集文章目录: 零.什么是微服务?一看就会系列! 一.手把手教你搭建SpringCloud项目(一)图文详解,傻瓜式操作 二.手把手教你搭建SpringCloud项目(二)生产 ...

  6. 魔方APP项目-01-移动端开发相关概念、移动端自适配、元信息(meta)、开发准备、移动端项目搭建(模拟器调试)、APICloud(APICloud 前端框架,获取服务端API接口)

    一.移动端开发相关概念 1.APP类型 ①.Native APP Native APP又称原生APP,就是我们平时说的手机应用软件. 原生APP 是针对IOS.Android.Windows等不同的手 ...

  7. 道翰天琼认知智能未来机器人接口API简介介绍认知智能机器人服务机器人聊天机器人

    "人类正从IT时代走向DT时代",随着移动互联网技术持续高速发展,海量数据计算存储.智能数据挖掘.低时延数据传送和可靠网络安全已经成为软硬件技术飞速发展的催化剂,也推动着数据中心从 ...

  8. 在服务器端调用微软office接口,Office 365 服务通信 API 参考

    Office 365 服务通信 API 参考 2021/8/11 本文内容 重要 Microsoft Graph 中的服务运行状况和通信 API 现已推出. Microsoft Graph API 替 ...

  9. 深度好文 — 微服务和API网关限流熔断实现关键逻辑思路

    来源:https://www.toutiao.com/i6853970319745483275/?group_id=6853970319745483275 今天准备谈下微服务架构和API网关中的限流熔 ...

最新文章

  1. 美国爱因斯坦计划技术分析
  2. 企业不要求工程师资格认证_谁说工程师不能成为企业家?
  3. 最大字段和(动态规划,C语言)
  4. 常用于评价回归模型优劣的统计量包括( )。_第四十一讲 R-判断回归模型性能的指标...
  5. 1886. 判断矩阵经轮转后是否一致
  6. 央采数据库集采:甲骨文、微软、腾讯、阿里等 21 家中标
  7. textarea光标处插入文字
  8. java数组数据结构_Java数据结构一维数组的应用
  9. 为什么我电脑的所有浏览器都开不了网页
  10. 实战 使用Java开发简易小游戏:贪吃蛇(附源码!)
  11. 中国智慧园区未来发展趋势及投资战略规划研究报告2022年版
  12. 设计模式的艺术 结构性模式之组合模式
  13. 《童梦奇缘-梦幻般的羁绊》第七章-流火
  14. pacman使用介绍
  15. 用计算机打爸爸妈妈,看图写话打电脑
  16. 17.4.17 漫画与人脸识别(一)
  17. 推荐系统(八)FNN模型(FM+MLP=FNN)
  18. 虚幻Material
  19. (一)Anaconda的安装和使用
  20. matlab中eacf函数,基于MATLAB的切比雪夫I型模拟低通滤波器设计

热门文章

  1. 计算机网络各层设备及功能讲解大汇总~
  2. jquery+jplayer实现歌词同步的mp3音乐播放器效果
  3. 我用自己的亲身经历告诉你为什么不建议你合租!
  4. 高等概率论 Chapter 5. Random Variables on a Countable Space
  5. 安卓逆向——修改APP的名称,图标和包名多开分身
  6. IBM罗睿兰的“告别信”
  7. 纪念日或者悼念日 网站改为灰白模式
  8. 判断输入数是奇数还是偶数
  9. 为什么软件系统上云是大势所趋?
  10. 《数据之美》读书笔记