Drason
Drason

Reputation: 51

Is there any way to mask body content in Spring Rest Docs?

I am using JWT authentication with Spring Security, where authentication requests have to contain the username and password in their body.

I do not want the credentials I use in the test to be displayed in Rest Docs.

This is the test in which I want to hide the credentials.


@Test
public void testAuthenticate() throws Exception {
    RequestBuilder request  = MockMvcRequestBuilders

            .post("/authenticate")
            .contentType(MediaType.APPLICATION_JSON)
            .content("{\"username\":  \""+username+
                    "\",  \"password\": \"" +password+"\" }");

    MvcResult result =   mvc.perform(request)

            .andExpect(status().isOk())
            .andDo(document("{methodName}"
                    , preprocessRequest(prettyPrint())
                    ,preprocessResponse(prettyPrint())
                    ,responseFields(fieldWithPath("jwtToken").description("token"))))
            .andReturn();


The documentation only talks about removing headers with preprocessRequest(), as far as I understood.

Thank you very much for your time.

Upvotes: 0

Views: 344

Answers (0)

Related Questions