实习踩坑·添加openfeign接口(根据id查询name)

问题一:项目运行不了问题

打开项目后,点击运行显示报错,代码没有问题但始终运行不了程序。

原因:

没添加环境。

解决方法:

使用 SwitchHosts 工具添加代码运行的配置环境。并且在代码环境中加载刚刚在 SwitchHosts 工具中配置好的环境。


问题二:未登录问题

在 postman 中请求 url,返回的参数提示未登录。

{
"successful": false,
"code": "401",
"message": "用户未登录,请重新登录!\n uri:…………",
"data": null
}
原因:

因为后端对 url 地址做了登录校验,如果没有相应的登录参数,就会报错:未登录,自动跳转到登陆页面。

解决:
  1. 添加 token
    token:…………

  2. 添加 Id
    Id:1

  3. 添加相关登录参数
    …………


问题三:测试类问题

创建测试类运行不起来,检查过代码逻辑没有问题。

原因:
  1. 没加 @SprootBootTest 注解
  2. 缩短命令行方式错误
解决方法:
  1. 缩短命令行方式:改为 JAR 清单
  2. 添加注解
    @SpringBootTest(classes = Application.calss,properties = {"spring.profiles.active = dev1"})

JAR 清单和 @argfile 都是用于缩短命令行的方式,但它们的作用和使用方式略有不同。

JAR 清单是一种在 JAR 文件中指定 Main-Class 和 Class-Path 的机制。通过在 JAR 清单文件中指定 Main-Class,我们可以使用”java -jar” 命令来启动应用程序,而无需指定主类名。此外,JAR 清单文件还可以指定 Class-Path,用于指定 JAR 文件的依赖关系。使用 JAR 清单文件可以使命令行更简洁,但需要在打包 JAR 文件时进行配置。

@argfile 则是一种通过文件来指定命令行参数的机制。我们可以将命令行参数保存到一个文件中,然后使用”@argfile” 选项来指定该文件,从而将所有参数传递给应用程序。使用 @argfile 可以避免命令行过长的问题,同时也可以方便地管理命令行参数。需要注意的是,@argfile 选项只能用于”java” 命令,而不能用于其他命令。


问题四:feign 测试问题

1. 添加……-sdk 依赖时,报错缺了很多其他依赖

原因:

猜测是 sdk 文件包太大了,新建的服务模块缺少了很多依赖包。

解决办法:

新建一个 openfeign 模块和 controller 模块,把自己写的 feign 抽取出来放到 opfeign 模块,避开 skd 依赖包,尽量少引依赖包。

2. 调用 feign 接口时,出现错误:

feign.FeignException$ServiceUnavailable: [503] during [GET] to [http:……] [GetNameFeign#getNameById(Long)]: [Load balancer does not contain an instance for the service ……-service]

原因:

路径中

http://……,……-service 不正确,找不到对应的服务

解决办法:

在 Feign 接口中加入 url 参数
@FeignClient(value = "……-service",url = "localhost:8080")public interface GetNameFeign { …………}

3. 前端校验问题:

openfeign 接口正确,可以通过原地址访问 (80 端口),但不能通过调用 openfeign 接口访问 (8080)。通过调用 feign 接口访问的地址 (8080) 访问的时候,token 中的参数传不过来原服务 (80 端口)。

原因:

后端做了登录校验,接口路径 (8080) 被拦截器拦截了。

解决办法:

在拦截器中加入路径放行:
registry.addInterceptor(new UserInterceptor()).addPathPatterns("/**") .excludePathPatterns( ………… "/info-by-id/*" );

创作不易!转载请注明作者及文章链接或作者博客链接——
- 作者:pidanxia
- 链接:https://pidanxia.ink
(链接可为:**文章链接**或者**作者博客链接**)
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇