无法正确重定向并在SpringBoot中使控制器成为控制器

时间:2019-07-11 12:50:26

标签: java spring spring-boot controller

我有两个用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;
    }
}

1 个答案:

答案 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;
    }
}