Глядя на источник документов весеннего отдыха, одиночные кавычки, заключающие переменные заголовка, жестко запрограммированы в CurlRequestSnippet
, и я не вижу простого способа расширить / переопределить это поведение - https://github.com/spring-projects/spring-restdocs/blob/master/spring-restdocs-core/src/main/java/org/springframework/restdocs/cli/CurlRequestSnippet.java#L148
Но вы можете завершить одинарную кавычку, обернуть переменную $ TOKEN двойными кавычками, а затем перезапустить одинарную кавычку, например: header("Authorization", "Bearer '\"$TOKEN\"'"))
Дополнительный контекст для примера теста с подстановкой переменной:
this.mockMvc.perform(get("/").header("Authorization", "Bearer '\"$TOKEN\"'"))
.andDo(print()).andExpect(status().isOk())
.andExpect(content().string(containsString("Hello World")))
.andDo(document("home"));
Который генерирует фрагмент curl:
$ curl 'http://localhost:8080/' -i -X GET
-H 'Authorization: Bearer '"$TOKEN"''
Не так красиво, но когда этот фрагмент выполняется, подстановка переменных bash работает.