У нас есть URL, который должен заканчиваться (требование клиента) чем-то вроде /test.jsp.
Теперь, когда мы наконец запустили Spring Boot (2.1.1.RELEASE), мы хотели быугробите JSP и используйте какой-нибудь шаблонизатор, в данном случае усы.У меня есть отображение контроллера, как это:
@Controller
@RequestMapping("/")
public class TestController {
@GetMapping(path = "/test.jsp")
public ModelAndView test(...) {...}
}
Это просто не работает.У меня есть
spring.mvc.pathmatch.use-suffix-pattern = true
В наших application.properties все, что связано с spring.mvc.view, закомментировано, когда я добавляю другое сопоставление с помощью просто / test, оно работает для / test.Забавно то, что мне удалось заставить работать точно такую же вещь при использовании Spring MVC и Thymeleaf, но я не могу найти разницу.
Кроме того, я добавил для этого тест, например:
@ExtendWith(SpringExtension.class)
@SpringBootTest
@AutoConfigureMockMvc
@ActiveProfiles("test")
class TestTest {
@Autowired
private MockMvc mockMvc;
@Test
void test() throws Exception {
final MockHttpServletRequestBuilder testRequestBuilder = MockMvcRequestBuilders.get("/test.jsp");
MvcResult responseResult = mockMvc.perform(testRequestBuilder).andReturn();
response = responseResult.getResponse();
assertThat(response.getStatus(), equalTo(HttpStatus.OK.value()));
}
}
Это отлично работает, содержание ответа тоже именно то, что я хочу.Профиль теста такой же, как и при использовании mvn spring-boot: на данный момент запустите.
Кто-нибудь получил идею о том, как заставить это работать?Спасибо!