I have my below app (microservices) which is successfully registered to Eureka server.I t has below Rest end point
@Controller
@RequestMapping("v1/base/")
public class PersonController {
@PostMapping
@RequestMapping(value="/personid")
public ResponseEntity< ?> getPersonList(){
return ResponseEntity.ok("All person list");
}
The properties file for person-application
eureka:
instance:
appname: person-application
client:
enabled: true
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://localhost:8761/eureka/
My zuul server yml file config is is .
server:
port:9000
servlet:
contextPath: /zuulapp
zuul:
routes:
person:
path: /v1/base/**
serviceId: person-application
When i call hit the rest point localhost:9000/zuulapp/person/personid i get the below error.How do i resolve this error
{
"timestamp":"2019-10-08T12:42:09.479+0000",
"status":404,
"error":"Internal Server Error",
"message":"No Message available"
"path" : "/zuulapp/person/personid"
}
Since the registered path in the zuul of the application is "/v1/base/**"
try this one: delete the contextpath properties then replace it with zuul.prefix properties.
server:
port:9000
zuul:
prefix: /zuulapp
routes:
person:
path: /person/**
serviceId: person-application
Now try checking this endpoint:
localhost:9000/zuulapp/person/v1/base/personid
try this in the controller class:
@RestController
@RequestMapping("/v1/base/")
public class PersonController {
@GetMapping(value="/personid")
public ResponseEntity< ?> getPersonList(){
return ResponseEntity.ok("All person list");
}