Метод запроса Spring Social / connect / twitter 'GET' не поддерживается

Я слежу за http://spring.io/guides/gs/accessing-twitter/ для настройки spring social для twitter с загрузкой Spring, но когда я запускаю приложение и перенаправляюсь на localhost: 8080 / connect / twitter, я получаю:

Произошла непредвиденная ошибка (тип = метод запрещен, статус = 405). Метод запроса GET не поддерживается

Я знаю, что это как-то связано с отображением ConnectController, как мне это исправить?

@Controller
public class HelloTwitterController {
    private final Twitter twitter;
    private final ConnectionRepository connectionRepo;

    @Inject
    public MessoTwitterController(Twitter twitter, ConnectionRepository connectionRepo) {
        this.twitter = twitter;
        this.connectionRepo = connectionRepo;
    }

    @RequestMapping(value ="/", method = RequestMethod.GET)
    public String welcomeTwitter (Model model) {
        if (connectionRepo.findPrimaryConnection(Twitter.class) == null)
            return "redirect:/connect/twitter";

        model.addAttribute(twitter.userOperations().getUserProfile());
        model.addAttribute("friends", twitter.friendOperations().getFriends());
        return "welcomeTwitter";
    }
}

@SpringBootApplication
@EnableAutoConfiguration
@ComponentScan("com.mypackage")
public class MyApplication {
       public static void main(String[] args) {
           SpringApplication.run(MyApplication.class, args);
    }
}

person user2054833    schedule 14.07.2015    source источник
comment
покажите свой класс контроллера   -  person Juned Ahsan    schedule 14.07.2015
comment
Я только что добавил Контроллер   -  person user2054833    schedule 14.07.2015
comment
какой URL-адрес вы нажимаете и нет ли сопоставления путей поверх вашего контроллера?   -  person Juned Ahsan    schedule 14.07.2015
comment
Я нажимаю localhost: 8080, а поверх контроллера нет сопоставления пути   -  person user2054833    schedule 14.07.2015
comment
Я обнаружил проблему. Я не настроил свой распознаватель представлений, поэтому Connect / twitterConnect не найден.   -  person user2054833    schedule 14.07.2015
comment
Вы можете опубликовать это как решение ... ;-) Вставьте туда код?   -  person Marco Schoolenberg    schedule 31.12.2015
comment
Да, укажите свое решение   -  person Michel Jung    schedule 30.07.2016


Ответы (2)


В вашем коде нет преобразователя представлений, поэтому представления (возвращаемые строки) не могут быть отображены.

Вы должны добавить свой преобразователь представлений (например, тимелеаф, freemarker, jsp) или поместить эту строку в application.properties

spring.social.auto_connection_views=true

Это будет отображать ваши представления с использованием шаблонов по умолчанию.

person Dmitry Zlykh    schedule 03.01.2017

@Dmitry Zlykh прав насчет отсутствующего преобразователя представлений, но вам не нужно включать его явно. Достаточно иметь соответствующую зависимость в вашем файле сборки, Boot автоматически включит преобразователь представлений. При использовании Thymeleaf код, который это делает, имеет вид ThymeleafAutoConfiguration.

Для проекта Gradle введите следующее в build.gradle, и все должно быть готово.

runtime("org.springframework.boot:spring-boot-starter-thymeleaf")
person Abhijit Sarkar    schedule 11.05.2017