Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Contexto rest Aplicação Spring Boot

Somente a título de curiosidade para quem ainda não conseguiu... A tempo atrás fiz esta pergunta:

Olá, estou com a seguinte dúvida:

Procurei várias formas e não consegui configurar o contexto rest para minha aplicação SpringBoot Eu gostaria que ficasse assim:

http://localhost:8080/aplicacao-teste/pages/index.html (para páginas) http://localhost:8080/aplicacao-teste/api/pessoas (contexto rest = /api/*)

Não consigo fazer esta configuração, alguém poderia me ajudar?

1 resposta
solução!

Depois de alguns estudos e pesquisas segue a resposta:

@Configuration
@ComponentScan(basePackages = { "br.com.gestao.educacional.api" })
public class WebConfig {

    @Bean
    public WebMvcRegistrationsAdapter webMvcRegistrationsHandlerMapping() {
        return new WebMvcRegistrationsAdapter() {
            @Override
            public RequestMappingHandlerMapping getRequestMappingHandlerMapping() {
                return new RequestMappingHandlerMapping() {
                    private final static String API_BASE_PATH = "api";

                    @Override
                    protected void registerHandlerMethod(Object handler, Method method, RequestMappingInfo mapping) {
                        Class<?> beanType = method.getDeclaringClass();
                        if (AnnotationUtils.findAnnotation(beanType, RestController.class) != null) {
                            PatternsRequestCondition apiPattern = new PatternsRequestCondition(API_BASE_PATH).combine(mapping.getPatternsCondition());

                            mapping = new RequestMappingInfo(mapping.getName(), apiPattern, mapping.getMethodsCondition(), mapping.getParamsCondition(),
                                    mapping.getHeadersCondition(), mapping.getConsumesCondition(), mapping.getProducesCondition(), mapping.getCustomCondition());
                        }

                        super.registerHandlerMethod(handler, method, mapping);
                    }
                };
            }
        };
    }
}

Sendo que o trecho: "@ComponentScan(basePackages = { "br.com.gestao.educacional.api" })" determina o pacote de APIs desenvolvidas no qual quero definir o prefixo de contexto.

Qualquer dúvida estou à disposição!