我有两个用Jersey编写的旧控制器。我需要在Spring Boot中重写它们,但不幸的是,没有一个指南可以帮助我尽可能高效地完成操作。
返回“ redirect ...”不适合我,因为在第二个控制器中,有很多方法,并且有一个参数idr,它对于每个请求都是唯一的
1。第一个控制器中的方法
@Path("{id}/second")
public SecondEndpoint getSecondEndpoint(@PathParam("id") Long id) {
return this.beanFactory
.getBean(SecondEndpoint.class, id);
}
2。第二控制人
@Component
@Scope("prototype")
@RequiredArgsConstructor
@Slf4j
@RestController
public class SecondEndpoint {
private final Long id;
@GET
@Path("{secondId}")
public String saySmth((@PathParam("secondId") Long secondId){
return "hello" + id + " " + secondId;
}
}
答案 0 :(得分:0)
尝试以下一个
@RestController
ClassRoot {
@Autowired
private SecondEndpoint secondEndPoint; // Autowire to inject SecondEndpoint instance
@PostMapping(produces = MediaType.APPLICATION_JSON_VALUE ,path = "id")
public SecondEndpoint getSecondEndpoint(@PathParam("id") Long id) {
return secondEndPoint.saySmth(id);
}
}
@Service
public class SecondEndpoint {
private final Long id;
public String saySmth((@PathParam("secondId") Long secondId){
return "hello" + id + " " + secondId;
}
}