Маска Заголовки в весенних restdocs - PullRequest
0 голосов
/ 14 марта 2020

Итак, я пытался следовать этому примеру: Spring REST Docs: как заменить параметры

Что я пытаюсь сделать, это замаскировать токен JWT в заголовке моего запрос и у меня есть OperationPreprocessor, который выглядит следующим образом:

import org.springframework.http.HttpHeaders
import org.springframework.restdocs.operation.OperationRequest
import org.springframework.restdocs.operation.OperationRequestFactory
import org.springframework.restdocs.operation.OperationResponse
import org.springframework.restdocs.operation.preprocess.OperationPreprocessor

class AuthHeaderPreprocessor implements OperationPreprocessor {
    @Override
    OperationRequest preprocess(OperationRequest request) {
        HttpHeaders headers = new HttpHeaders()
        headers.putAll(request.getHeaders())
        headers.set('Authorization', 'Bearer 12345')

        return new OperationRequestFactory().create(
            request.getUri(),
            request.getMethod(),
            request.getContent(),
            headers,
            request.getParameters(),
            request.getParts()
        )

    }

    @Override
    OperationResponse preprocess(OperationResponse response) {
        return response
    }
}

Когда я запускаю тест, они запускаются без ошибок, но я не вижу никаких изменений в заголовке. Я использую OperationPreprocessor, как этот

RestAssuredRestDocumentation.document(
    'event-list', preprocessRequest(new AuthHeaderPreprocessor()), ...

Любые идеи, которые я могу упустить.

1 Ответ

0 голосов
/ 23 марта 2020

Код, который я действительно работал, является хорошим примером того, как фильтровать заголовки. По какой-то причине, когда я тестировал его изначально, я не работал, но, похоже, это было просто что-то, кэшированное в сборке, которое не очищается, как это работает сейчас.

...