场景

记录调用http接口成功却返回404的问题

问题表现如下:

1、前端调用http接口,接口返回404

2、通过debug确认,接口调用是成功的

3、接口会返回JSON数据


使用案例来表现该问题

1、后端接口代码

@Controller
@RequestMapping("test")
public class TestController {

    @RequestMapping("testReturnStr")
    public String testReturnStr(HttpServletRequest request, HttpServletResponse response) {
        
        return "盖伦与卡特琳娜";
    }

}

2、前端调用返回的码为:404,但实际上调用是正常的,这里就不截图了
 
原因:后端接口返回了JSON数据,但控制器没有添加相关声明


解决

方法1:将控制器中的@Controller改为@RestController

//使用@RestController
@RestController
@RequestMapping("test")
public class TestController {

    @RequestMapping("testReturnStr")
    public String testReturnStr(HttpServletRequest request, HttpServletResponse response) {
        
        return "盖伦与卡特琳娜";
    }

}

方法2:在控制器方法上添加@ResponseBody注解

@Controller
@RequestMapping("test")
public class TestController {

	//添加@ResponseBody
	@ResponseBody
    @RequestMapping("testReturnStr")
    public String testReturnStr(HttpServletRequest request, HttpServletResponse response) {
        
        return "盖伦与卡特琳娜";
    }

}

更多推荐