-
2019-09-28 18:38:35
https://blog.csdn.net/lanwp5302/article/details/101628732
这里使用spring boot 2.1.8 ,使用swagger-ui
一、引入maven依赖
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.9.6</version> </dependency>
二、配置类
@Configuration @EnableSwagger2 //@EnableSwaggerBootstrapUI public class SwaggerConfig { @Bean public Docket createRestApi() { Docket docket = new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) // .pathMapping("/") .select() // 指定当前包路径,这里就添加了两个包,注意方法变成了basePackage,中间加上成员变量splitor .apis(RequestHandlerSelectors.basePackage("com.example.lwp.swagger2.swagger2authdemo.controller")) .paths(PathSelectors.any()) .build() .securitySchemes(securitySchemes()) ; return docket; } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("SpringBoot整合Swagger") .description("SpringBoot整合Swagger,详细信息......") .version("9.0") .contact(new Contact("张三", "blog.csdn.net", "zhangsan@gmail.com")) .contact(new Contact("李四", "blog.csdn.net", "zhangsan@gmail.com")) // .license("The Apache License") // .licenseUrl("http://www.baidu.com") .build(); } /** * SecurityScheme 子类 BasicAuth OAuth ApiKey * @return */ private List<SecurityScheme> securitySchemes(){ List<SecurityScheme> list = new ArrayList<>(); // basicAuth SwaggerBootstrapUI支持的不好,使用swagger原生UI list.add(new BasicAuth("basicAuth")); // name 为参数名 keyname是页面传值显示的 keyname, name在swagger鉴权中使用 list.add(new ApiKey("access_token", "access_token", "header")); list.add(new ApiKey("query_token鉴权值-参数名称", "query_token", "query")); return list; } }
三、controller
使用注解 @ApiOperation(value = “hello入口”, authorizations = {@Authorization(value=“access_token”)})
名称对应 access_token... @RestController @RequestMapping("/auth") @Api(tags = {"auth模块"}, description = "需要鉴权的模块(描述)") // public class AuthController { @GetMapping("/hello") @ApiOperation(value = "hello入口", authorizations = {@Authorization(value="access_token")}) public String hello(String username){ return "hello " + username; } @GetMapping("/hello1") @ApiOperation(value = "auth hello1接口", authorizations = {@Authorization(value="basicAuth")}) public String hello1(String username){ return "hello1 " + username; } ...
四、swagger-ui
测试方法,锁图标显示关闭,ApiKey已经生效
更多相关内容 -
百度api申请key
2015-11-19 12:10:34开始申请key。 点击"创建应用",进入创建AK页面,输入应用名称,将应用类型改为:“Android SDK”: 配置应用 在应用类型选为“Android SDK”后,需要配置应用的安全码,如下图所示: 获取安全码 安全...登录百度账号,打开该网址http://lbsyun.baidu.com/apiconsole/key。
开始申请key。
点击"创建应用",进入创建AK页面,输入应用名称,将应用类型改为:“Android SDK”:
配置应用
在应用类型选为“Android SDK”后,需要配置应用的安全码,如下图所示:
获取安全码
安全码的组成规则为:Android签名证书的sha1值+packagename例如:
SHA1:BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
包名:com.baidumap.demo
Android签名证书的sha1值获取方式有两种:第一种方法:使用keytool
第1步:运行进入控制台
第2步:定位到.android文件夹下,输入cd .android
第3步:输入keytool -list -v -keystore debug.keystore,会得到三种指纹证书,选取SHA1类型的证书(密钥口令是android),例如:
其中keytool为jdk自带工具;keystorefile为Android 签名证书文件
第二种方法:在adt 22中直接查看
如果使用adt 22,可以在eclipse中直接查看:windows -> preferance -> android -> build。 如下图示:
其中“SHA1 fingerprint”值即为Android签名证书的sha1值
获取包名包名是Android应用程序本身在AndroidManifest.xml 中定义的名称,例如:
成功创建KEY
在输入安全码后,点击“确定”完成应用的配置工作,您将会得到一个创建的Key,请妥善保管您所申请的Key。到这您就可以使用新Key来完成您的开发工作了。
-
小程序API之天气预报查询及百度APIkey(ak)的申请
2020-06-23 08:54:13默认超时时间和最大时间都是60s,超时时间可在app.json中设置。一个微信小程序同时只能有五个网络请求连接。 我先一步一步写一下,写完后在最下面系统的帖一下所有代码。当然一步按步骤写也能写出来,但是没有样式...简介:天气预报查询实时的天气状况,和实时温度,在input输入框中输入城市名称,点击搜索即可显示。
wx.request发起https网络请求。默认超时时间和最大时间都是60s,超时时间可在app.json中设置。一个微信小程序同时只能有五个网络请求连接。
我先一步一步写一下,写完后在最下面系统的帖一下所有代码。当然一步按步骤写也能写出来,但是没有样式而已1.动态获取输入的城市名
在wxml中编写:
为input输入框绑定bindKeyInput()函数<input placeholder="输入城市名进行搜索" bindinput="bindKeyInput"></input> <view class="icon"> <icon type="search" size="25" bindtap="search" /> </view>
在js文件中编写代码,在Page()函数外声明一些变量,用于保存获取到的值,
var defaultcity, getweather, gettemp, getwind, getpic, getdate
然后编写input的bindKeyInput()事件处理函数
bindKeyInput:function(e){ defaultcity = e.detail.value },
2.请求天气接口数据
点击搜索图标时,发起网络请求,调用获取天气API:
search: function(e) { var that = this wx.request({ url: 'https://api.map.baidu.com/telematics/v3/weather?output=json&ak=这里写自己申请的百度ak&location=' + defaultcity, success: res => { console.log(res.data) if (!res.data.results) { console.log('获取天气接口失败') return } getweather = res.data.results[0].weather_data[0].weather gettemp = res.data.results[0].weather_data[0].temperature getwind = res.data.results[0].weather_data[0].wind getpic = res.data.results[0].weather_data[0].dayPictureUrl getdate = res.data.results[0].weather_data[0].date this.setData({ city: defaultcity, weather: getweather, temp: gettemp, wind: getwind, pic: getpic, date: getdate }) wx.hideLoading() } }) },
4.渲染界面展示数据
wxml代码:
<view class="body"> <view class="city"> <text>{{city}}</text> </view> <view class="today"> <text>{{date}}</text> </view> <view> <image src="{{pic}}" mode="aspectFit" style="width: 400rpx; height: 400rpx" /> </view> </view> <!-- bottom部分 --> <view class="bottom"> <view class="weather"> <text>{{weather}}</text> </view> <view class="right"> <view class="temp"> <text>{{temp}}</text> </view> <view class="wind"> <text>{{wind}}</text> </view> </view> </view>
5.整体的代码
wxml代码:
<view class="page"> <!-- top部分 --> <view class="top"> <input placeholder="输入城市名进行搜索" bindinput="bindKeyInput"></input> <view class="icon"> <icon type="search" size="25" bindtap="search" /> </view> </view> <!-- body部分 --> <view class="body"> <view class="city"> <text>{{city}}</text> </view> <view class="today"> <text>{{date}}</text> </view> <view> <image src="{{pic}}" mode="aspectFit" style="width: 400rpx; height: 400rpx" /> </view> </view> <!-- bottom部分 --> <view class="bottom"> <view class="weather"> <text>{{weather}}</text> </view> <view class="right"> <view class="temp"> <text>{{temp}}</text> </view> <view class="wind"> <text>{{wind}}</text> </view> </view> </view> </view>
js代码:
var defaultcity, getweather, gettemp, getwind, getpic, getdate Page({ /** * 页面的初始数据 */ data: { }, //动态获取input输入值,城市名称 bindKeyInput:function(e){ defaultcity = e.detail.value }, //搜索城市 search: function(e) { this.weather() }, weather: function() { wx.showLoading({ title: '加载中', }) wx.request({ url: 'https://api.map.baidu.com/telematics/v3/weather?output=json&ak=自己的ak&location=' + defaultcity, success: res => { console.log(res.data) if (!res.data.results) { console.log('获取天气接口失败') return } getweather = res.data.results[0].weather_data[0].weather gettemp = res.data.results[0].weather_data[0].temperature getwind = res.data.results[0].weather_data[0].wind getpic = res.data.results[0].weather_data[0].dayPictureUrl getdate = res.data.results[0].weather_data[0].date this.setData({ city: defaultcity, weather: getweather, temp: gettemp, wind: getwind, pic: getpic, date: getdate }) wx.hideLoading() } }) }, })
css代码:
page { background-color: #5a9cd8; color: #fff; } .page { margin: 50rpx;/* 与最上方有间隙 */ } .top { display: flex; padding: 20rpx; flex-direction: row; background-color: #efefef; position: relative; margin-bottom: 20rpx; border-radius: 10rpx; } .input { width: 80%; font-size: 32rpx; } .icon { width: 10%; position: absolute; right: 0; bottom: 5rpx; } .body { text-align: center; display: flex; flex-direction: column; /*竖直显示 */ } .city { font-size: 80rpx; } .today { font-size: 34rpx; } .bottom { display: flex; flex-direction: row; align-items: center; text-align: center; } .weather { font-size: 38rpx; width: 50%; } .right { display: flex; flex-direction: column; } .wind { font-size: 40rpx; } .temp { font-size: 40rpx; font-weight: bold; font-family: Arial, Helvetica, sans-serif; } input { color: #333; }
运行图片:
老八秘制小汉堡,一天三顿没烦恼 。一条可爱的分界线。 下面写一下百度APIkey的申请步骤,避免踩坑。
百度ak申请地址:http://lbsyun.baidu.com/apiconsole/key
打开后登陆网站,
创建应用,应用名称一定要和自己的程序应用名字一样。
应用类型选择微信小程序。
appid写自己小程序的APPID,但是我在写这里的时候遇到了一点小麻烦,输入自己的appid之后,一直显示格式错误,不得以之下选择了填上他给的默认值touristappid,然后提交之后如下图然后点击设置进去可以进行修改,然后把appid改成自己的appid,
这样就可以可了。然后在程序中填写就OK了。
-
百度地图API key申请申请详细步骤
2021-06-03 02:51:32最近开发一个景点相关的项目,借用百度地图提供的API来实现项目中的定位与导航需求。根据百度地图官方网站的引导,申请了开发者API。项目调试都一切顺利,但是当项目导出成APK,进行最后测试时,在请求路径规划的...开发移动app应用,经常会遇到定位与导航需求,开发者自己去实现不太可能,一个是工作量大,另一个是程序员世界最常用的话不要重复制造轮子。百度在地图界混迹如此之久,积累的东西还是可以的。
最近开发一个景点相关的项目,借用百度地图提供的API来实现项目中的定位与导航需求。根据百度地图官方网站的引导,申请了开发者API。项目调试都一切顺利,但是当项目导出成APK,进行最后测试时,在请求路径规划的时候,总是遇到认证失败,error:102的错误,经过分析最后才找到问题的原因与解决办法。
因此,将百度地图API申请的相关流程记录下来。希望能够给需要用百度地图开发的程序员们一些借鉴。
###申请API
百度地图Android平台API申请链接当前为http://lbsyun.baidu.com/apiconsole/key(注:随时可能变动,已百度地图API首页最新链接为准)
####创建应用
进入API链接申请页面后,点击创建应用:
应用名称随便填写,应用类型选for mobile, 禁用服务不用选择,关键问题就是安全码。如图所示,安全码为Android签名证书的sha1值+“;”+packagename,即数字签名+分号+包名组成。我在这一步根据官网提供的两种获得安全码的办法,生成了自己的安全码,可是最后key认证失败了。
其实我感觉官网写的不是很清楚,当然也是因为自己对keystore机制不是很了解。这里具体说明一下。
官网提供的两种方法都是针对系统默认的keystore来生成安全码的,那么当联机调试的时候,eclipse也是用默认的keystore来生成的应用,所以,key认证没有遇到问题,当用eclipse导出APK时,eclipse会询问使用现有的keystore还是重新生成一个keystore。我选择的是生成了一个新的keystore。结果这个keystore和前面获取sha1值使用的keysotre不是同一个,直接导致了百度地图key认证失败。
所以,当发现问题之后,我的尝试了在eclipse导入我自己的keystore,但是没有成功,最后选用的办法是申请两个APIkey,分别与eclipse默认的keystore和自己生成的keystore对应,开发的时候使用默认keystore,当需要导出的时候,将代码中的key替换成与自己生成的keystore对应的key。
####key的获取
讲了很多废话,回头才发现没有讲具体怎么获取key。这里只讲一种简单的用eclipse获取sha1值与packageName值生成key的办法。至于那些使用keytool的程序员们,keytool -list -v -keysotre your_keystore_file -storepass your_keystore_password,你们应该懂得,就不多说了。
#####1.获取keysotre的sha1值
我使用的版本mac下的eclipse,查看方法是依次进入如下路径: ADT->Prefrence->Android->Build,windows版本eclipse进入路径:winows -> preferance -> android -> build,然后在设置面板的右边可以看到sha1值的具体信息,如下图。
#####2.获取PackageName
eclipse中,打开项目的AndroidMenifest.xml文件,头部的Manifest标签中的package对应的内容就是我们需要的,如下图
#####3.生成百度地图API开发者key
将上面获得的sha1值与packageName一起按格式sha1;packageName的形式填入到本文前面创建应用一节中图片中的安全码位置。然后点击确定,系统会提示创建成功,然后系统会为你的应用生成一个专门的字符串,即key,如下图所示。将其配置到自己的应用中使用即可。
###总结
到此,本文结束了,生命在于折腾。。。
-
百度APIKey申请
2016-07-28 09:25:26在使用百度地图SDK为您提供的各种LBS能力之前,您需要获取百度地图移动版的开发密钥,该密钥与...Key的申请地址为:http://lbsyun.baidu.com/apiconsole/key 注意: 1. 为了给用户提供更安全的服务,Android SDK -
微信商户平台如何下载证书和设置KEY值?
2020-04-02 16:12:56...API安全>API证书-申请证书 2:下载安装【微信支付商户平台证书工具】 点击上图下载证书工具链接,然后会下载exe安装,点击安装之后会出现以下页面,需要填写商户号和商户名称。(是... -
申请google API Key
2014-03-10 11:19:00点击左侧栏的API Access,在右侧出来的页面中点击Create new Android key,此时会弹出来一个页面,在输入框中输入你之前得到的认证书,格式是xxxxxxxxx;com.example, 这里的com.example是你 安卓 工程中用的包名,... -
usda-ers-food-dollar:从 USDA ERS API 绘制数据
2021-07-15 21:40:04使用ruby food_dollar.rb {API_KEY}从 API 中ruby food_dollar.rb {API_KEY}数据 将数据写入food_dollar.json 使用index.html + food_dollar.js渲染图表 去做 处理缺失值 现在它们是0但这导致图形被平均分割 似乎... -
高德 谷歌key值申请
2019-04-19 15:01:20使用高德API,请注册Key,注册地址:http://lbs.amap.com/dev/key/摘要: 最近在做一个项目,里面用到了谷歌地图。于是进行了一翻折腾:包括翻墙、激活结算帐号、申请谷歌地图密钥、密钥限制、接口调用等等 最近在... -
vue如何使用腾讯地图申请key值,实现定位,点击可查看提示信息
2020-08-03 14:38:28如何申请腾讯key 要使用腾讯地图,首先要有个key 1.首先通过这个链接(官网:https://lbs.qq.com/javascript_v2)进去后,完成注册。 2.完成注册后,按下图操作即可: 3.进入如下页面,把信息填写完整,点击提交就... -
android google api key 申请 出错处理
2012-06-18 11:38:47API key。 步骤1:找到debug.keystore文件。 使用Eclipse开发时,选择Windows-Preference如图: 步骤2:取得debug.keystore 的MD5值 在cmd中执行: (可以先定位到jdk的bin目录下) ke -
Android开发使用google地图申请api key(v2.API_KEY)
2014-12-10 16:44:15我在开发中遇到了这么一个问题,在应用中使用了google地图,在模拟器和真机测试时,google地图完全没有问题,但是,当签名后的apk安装在手机...这个时候的MD5和SHA1是默认的值,而当我们在发布时使用的是自己设置的*.ke -
豆瓣API
2020-06-14 19:32:44apikey Y 固定值 0b2bdeda43b5688921839c8ecb20399b city N 所在城市 例如北京、上海等 start N 分页使用,表示第几页 1 count N 分页使用,表示数量 10 client N 客户端信息 - udid N 用户 id - url ... -
notional:一种非官方的Notion API,用于与NodeJS中的表数据进行交互
2021-05-02 09:33:28名义上的 一种非官方的Notion API,用于与NodeJS中的表数据进行交互 名词:以建议,估计或理论为基础或以其为基础存在- 基本用法 ... 此值为您的apiKey 。 您还应该看到notion_user_id ,它将需要作为 -
使用高德地图api在页面中展示地图
2021-09-23 16:17:431.引入JS API 的入口脚本标签并将key值换成自己的 2.创建地图容器 容纳地图(可以设置宽高) 3.创建地图实例对象(同时可以给地图设置中心点、级别、显示模式、自定义样式等属性) <!DOCTYPE html> <... -
Google API获取key的地址
2013-05-03 14:10:27https://developers.google.com/maps/documentation/javascript/v2/introduction?hl=zh-CN#0btaining_key 第三版地址:... 获取 API 密钥 所有的 -
VueCli3引入百度地图Api详细步骤+宽高自动页面自适应(踩坑+源代码)
2020-09-17 12:48:12打开项目文件,在public文件夹下的index.html页面中引入百度地图API 这里的密钥,要替换为你刚才申请的ak密钥 <script type="text/javascript" src="http://api.map.baidu.com/getscript?v=3.0&ak=密钥"&... -
火币网API文档——REST API 签名认证
2021-03-15 00:22:11安全认证目前关于apikey申请和修改,请在“账户 - API管理”页面进行相关操作。其中AccessKey为API 访问密钥,SecretKey为用户对请求进行签名的密钥(仅申请时可见)。Pro站和HADAX站apikey通用。重要提示:这两个密钥... -
豆瓣 API调用接口失败
2020-06-16 16:15:00最近学习 JSON 想获取,豆瓣的电影top250电影榜,来练习,练习。 结果输入地址: ... 请求结果 ...{"msg":"invalid_apikey, Please contact bd-team...好吧,仔细一研究,发现是没有添加 apikey解决办法,在请求url后面添 -
AmChart中文API
2016-04-28 11:22:34cleanupSWFs() // 清除页面上所有元素。 SWFObject(_1, id, w, h, _5, c, _7, _8, _9, _a) // _1: swf,指定SWF文件路径。 // _id: id,或者标签的id。 // w: width,属性width。 // h: height,属性height。 /... -
腾讯API SecretId 与 SecretKey 鉴权
2018-03-12 11:35:03在第一次使用云API之前,用户首先需要在腾讯云网站上申请安全凭证,安全凭证包括 SecretId 和 SecretKey, SecretId 是用于标识 API 调用者的身份,SecretKey是用于加密签名字符串和服务器端验证签名字符串的密钥。... -
vue中为什么不建议你使用数组下标作为 key值呢
2020-04-23 12:10:09首先我们要明白vue中为什么要有这个key值呢! 这个key值能帮我们追踪dom树中的变化,让我们更新只发生变化的dom树,而不是只要有一个数据发生变化,我们就更新整个dom树.这个也算是Vdom的一大特点所在吧 1.像下面的这... -
Inshorts-Clone-The-News-App:使用flutter和newsapi.org API简化新闻应用程序克隆
2021-04-05 23:33:55final String apikey = "YOUR_KEY" ; 特征 暗模式 多国语言支持[英文,हिंदी,मराठी,ಕನ್ನಡ] 将新闻卡作为图像共享 离线阅读 共享新闻卡上的水印 网页浏览 屏幕截图 发现 喂养 设定值 语言支援 ... -
android google maps 简单入门之申请Android Map API Key
2013-08-05 23:23:02为了能顺利的申请Android Map API Key,必须要准备google的账号和系统的证明书。一般Google发布Key都需要Google账号,Google账号是通用的,Gmail的账号就可以。当一个程序发布时必须要证明书,证明书其实就是MD5.我们... -
Android Google Map API使用的八个步骤---插件生成key
2014-04-11 09:45:57在上面的代码中,设置了地图显示的方式为街道模式(通过设置mapview的setStreetView属性值为true),并且通过mapView.setBuiltInZoomControls(true); 使用了系统内置的放大缩小功能,并设置了地图的放大缩小倍数为13... -
Android关于Google Maps API KEY的申请
2011-06-02 14:46:00使用Android Maps API之前首先要获得Android Maps API KEY,否则地图将无法显示。 下面介绍如何获取API KEY。 网上有人说需要两样东西:1,google的帐号;2,系统的证明书。 但是我发现google的帐号在申请KEY... -
Postman 使用教程 - 手把手教你 API 接口测试
2021-12-31 16:05:41Postman 是一套 API 接口测试工具,它的强大在于灵活趁手的接口测试功能,极大的提高了 API 测试效率。本教程将由浅入深,带领大家一起学习如何使用 Postman 进行接口测试。 API 是什么? API的英文即 Application ... -
vue怎么读取api
2021-01-30 13:37:29如何利用第三方API提供服务呢?我们可以创建ajax请求来处理响应,利用axios来处理API数据。Axios是一个基于 Promise 的HTTP客户端,用于创建 Ajax请求,并且非常适合我们的应用。它提供了一些简单而丰富的API。 它与... -
百度地图API新版申请API Key
2013-11-18 20:03:031.进入百度地图API网页,进入申请key的页面。点击"创建密钥",系统将为您自动生成密钥。 2.配置新生成的密钥。点击新生成密钥的"设置"按钮。在弹出的对话框选mobile. 3.安全码的配置,这里安全码的格式为:Android...