zuul抛出404无会议可用错误

nle07wnf  于 2021-07-15  发布在  Java
关注(0)|答案(1)|浏览(387)

我有我下面的应用程序(微服务),它已成功注册到eureka服务器。我有下面的rest端点

  1. @Controller
  2. @RequestMapping("v1/base/")
  3. public class PersonController {
  4. @PostMapping
  5. @RequestMapping(value="/personid")
  6. public ResponseEntity< ?> getPersonList(){
  7. return ResponseEntity.ok("All person list");
  8. }

person应用程序的属性文件

  1. eureka:
  2. instance:
  3. appname: person-application
  4. client:
  5. enabled: true
  6. register-with-eureka: true
  7. fetch-registry: true
  8. service-url:
  9. defaultZone: http://localhost:8761/eureka/

我的zuul服务器yml文件配置是。

  1. server:
  2. port:9000
  3. servlet:
  4. contextPath: /zuulapp
  5. zuul:
  6. routes:
  7. person:
  8. path: /v1/base/**
  9. serviceId: person-application

当我打电话的时候,打到休息点localhost:9000/zuulapp/person/personid 我得到下面的错误。我如何解决这个错误

  1. {
  2. "timestamp":"2019-10-08T12:42:09.479+0000",
  3. "status":404,
  4. "error":"Internal Server Error",
  5. "message":"No Message available"
  6. "path" : "/zuulapp/person/personid"
  7. }
r1zk6ea1

r1zk6ea11#

因为应用程序zuul中的注册路径是“/v1/base/**”
尝试以下方法:删除contextpath属性,然后用zuul.prefix属性替换它。

  1. server:
  2. port:9000
  3. zuul:
  4. prefix: /zuulapp
  5. routes:
  6. person:
  7. path: /person/**
  8. serviceId: person-application

现在尝试检查此终结点:
localhost:9000/zuulapp/person/v1/base/personid
在控制器类中尝试以下操作:

  1. @RestController
  2. @RequestMapping("/v1/base/")
  3. public class PersonController {
  4. @GetMapping(value="/personid")
  5. public ResponseEntity< ?> getPersonList(){
  6. return ResponseEntity.ok("All person list");
  7. }
展开查看全部

相关问题