实习踩坑·添加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
小恐龙
花!
上一篇
下一篇