急!java:controller调用其他controller中的接口怎么实现

Test1Controller中下面这个接口
@ApiOperation(value = "测试接口", notes = "测试接口", response = BaseResult.class, responseContainer = "Map")
    @RequestMapping(value = "/view", method = {RequestMethod.GET, RequestMethod.POST})
    public BaseResult<Map<String, Object>> view(参数){方法体}

调用Test2Controller中一个search接口
@ApiOperation(value = "测试查询", notes = "测试查询", response = BaseResult.class, responseContainer = "Map")
	@RequestMapping(value = "/search", method = { RequestMethod.GET, RequestMethod.POST })
	public BaseResult<Map<String,Object>> search(参数){方法体}

简单来说就是Test1Controller有一个view接口某些数据处理需要调用Test2Controller中的search接口,不讨论应不应当这样调用,就想知道现在需要这样去调用接口,具体怎么实现呢

补充:使用Jsoup.connect(url)去调用Test2Controller中的search接口,但是报错

测试Test1Controller接口的时候已经登录,在Test1Controller调用Test2Controller接口的时候又报这种错误,请问哪位大神有解决办法

1.用http工具类去调

2.将test2中的方法封装到service层,test1直接调test2中的service方法

Test2Controller 注入到Test1Controller中,封装好参数直接调

如果在一个项目里,重新封装一下抽成个方法吧。

莫非又是一大堆逻辑写到controller了?如果真是这样,只能自己去请求自己的接口了,httpclient,restTemplate这都可以,就怕权限框架,把你的请求给拦截了

你直接把他的controller里的方法体,复制到你自己的controller里不行吗

不能直接建一个test2对象吗?然后test2.search(),我这里是没有报错的

Test1Controller中下面这个接口


private Test2Controller test2Controller;

@ApiOperation(value = "测试接口", notes = "测试接口", response = BaseResult.class, responseContainer = "Map")
    @RequestMapping(value = "/view", method = {RequestMethod.GET, RequestMethod.POST})
    public BaseResult<Map<String, Object>> view(参数){
        Test2Controller.search(参数)
        方法体
    }

调用Test2Controller中一个search接口
@ApiOperation(value = "测试查询", notes = "测试查询", response = BaseResult.class, responseContainer = "Map")
	@RequestMapping(value = "/search", method = { RequestMethod.GET, RequestMethod.POST })
	public BaseResult<Map<String,Object>> search(参数){方法体}

这样不符合你的要求嘛?

解决了吗,怎么弄的