我正在尝试测试我的@RestController的重定向能力。
出于测试目的,它必须重定向到localhost。
@RestController
@RequestMapping(value = RegistrationRestController.CONFIRM_REGISTRATION_URL, produces =
MediaType.APPLICATION_JSON_VALUE)
public class RegistrationRestController {
public static final String CONFIRM_REGISTRATION_URL = "/confirmRegistration";
@Autowired
UserService userService;
@GetMapping
public RedirectView confirmRegistration(@RequestParam("token") String token) {
RedirectView redirectView;
Token verificationToken = userService.getToken(token);
if ((verificationToken == null) || (verificationToken.getExpiryDateTime().isAfter(LocalDateTime.now()))) {
redirectView = new RedirectView("access_denied");
} else redirectView = new RedirectView("access_approved");
return redirectView;
}
}
Servlet映射为:
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
我运行应用程序并输入:
http://localhost:8080/test/confirmRegistration?token=a5582f4c-db3c-4d7c-9fab-7fd82ffb5d89
但是我收到404错误。
当我使用真实站点的绝对路径而不是“ access_approved”(例如,“ https://stackoverflow.com/”)时,它的效果很好。
因此,问题集中在位于my-project-structure的页面上。我的wabapp的屏幕已连接
答案 0 :(得分:0)
使用MockMvc
测试控制器。这是一个例子:
https://howtodoinjava.com/spring-boot2/testing/spring-boot-mockmvc-example/