小编Nan*_*Nan的帖子

SpringBoot2 + Webflux - WebTestClient 总是返回“401 UNAUTHORIZED”

我正在尝试在 Springboot 2.1.8 和 Junit5 下使用 WebTestClient 编写一些测试

它总是返回 < 401 UNAUTHORIZED Unauthorized,但实际上它根本没有进入控制器或服务层。它可能与弹簧安全有关,只是我的猜测。

该项目是使用 JHipster 生成的。这是build.gradle

-----------------UimApiServiceImplTest.java-------------------

...


@ExtendWith(SpringExtension.class)
@WebFluxTest(controllers = UserGuidController.class)
@ContextConfiguration(classes = {UserGuidController.class, UimApiServiceImpl.class})

public class UimApiServiceImplTest {

    @Autowired
    private WebTestClient webTestClient;

    @Test
    public void testGetGuidByEmail() {

        webTestClient.get()
            .uri("/uimapi/getguid/{email}", "someone@xxxxx.com")
            .accept(MediaType.APPLICATION_JSON_UTF8)
            .exchange()
            .expectStatus().isOk();
    }
}
Run Code Online (Sandbox Code Playgroud)

--------------------UserGuidController.java--------------------

...
@RestController
@RequestMapping("/uimapi")
public class UserGuidController {

    @Autowired
    private UimApiServiceImpl uimApiService;

    private static final Logger logger = LoggerFactory.getLogger(UserGuidController.class);

    @GetMapping("/getguid/{email}")
    public String getUserGuid(@PathVariable String email) {
        return uimApiService.getUserGuid(email);
    }
}
Run Code Online (Sandbox Code Playgroud)

junit spring spring-security spring-boot spring-webflux

2
推荐指数
2
解决办法
2476
查看次数