2015-04-25 2 views
3

Привет, ребята, я продолжаю получать эту ошибку, даже несмотря на то, что я следил за весенним учебником с их сайта. Я пытался понять, почему я получаю эту ошибку. Я могу подключиться к facebook, но, пытаясь получить каналы, такие как учебник, предоставленный весной, я продолжаю получать ошибку whitelabel. В нем написано:Весенний ботинок whitelabel 404

Это приложение не имеет явного сопоставления для/error, поэтому вы видите это как резерв. Произошла непредвиденная ошибка (type = Not Found, status = 404). Нет сообщений

Все, кажется, все в порядке, но не знаю, почему я продолжаю получать эту ошибку. если кто-то может помочь, я буду этому благодарен.

Мой контроллер помещен в SRC/основной/Java/дома:

@Controller 
@RequestMapping(value="/") 
public class HomeController { 

private Facebook facebook; 

@Inject 
public HomeController(Facebook facebook) { 
    this.facebook = facebook; 
} 

@RequestMapping(method =RequestMethod.GET) 
public String getPhotos(Model model){ 

    if(!facebook.isAuthorized()) 
    { 
     return "redirect:/connect/facebook"; 
    } 
    model.addAttribute(facebook.userOperations().getUserProfile()); 
    PagedList<Post> homeFeed = facebook.feedOperations().getHomeFeed(); 
    model.addAttribute("feed", homeFeed); 

    return "hello"; 
} 
} 

Application.java файл, помещенный в SRC/главная/Java/главная/главная:

@SpringBootApplication 
public class Application { 
public static void main(String[] args) { 
    SpringApplication.run(Application.class, args); 
    } 
} 

Ниже моя сборка .gradle файл:

apply plugin: 'java' 
apply plugin: 'idea' 
apply plugin: 'spring-boot' 

buildscript{ 
repositories{ 
    // maven { url "https://repo.spring.io/release" } 
    maven { url "https://repo.spring.io/libs-milestone"} 
    // mavenCentral() 
     } 
dependencies { 
    classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.3.RELEASE") 
    } 
} 
repositories { 
    maven { url "https://repo.spring.io/libs-milestone"} 
    mavenCentral() 
} 
bootRepackage { 
    mainClass = 'facebookArchiver.Application' 
} 
dependencies { 
    compile ('org.springframework.social:spring-social-facebook:2.0.0.RELEASE') 
    compile("org.springframework.boot:spring-boot-starter-thymeleaf") 
    compile('org.springframework.boot:spring-boot-starter-web') 
    testCompile group: 'junit', name: 'junit', version: '4.11' 
} 
task wrapper(type: Wrapper) { 
     gradleVersion = '2.3' 
} 

hello.html файл: Он сохраняется в SRC/главная/ресурсы/папки шаблонов:

<html> 
<head> 
<title>Hello Facebook</title> 
</head> 
<body> 
<h3>Hello, <span th:text="${facebookProfile.name}">Some User</span>!</h3> 

<h4>Here is your home feed:</h4> 

<div th:each="post:${feed}"> 
<b th:text="${post.from.name}">from</b> wrote: 
<p th:text="${post.message}">message text</p> 
<img th:if="${post.picture}" th:src="${post.picture}"/> 
<hr/> 
</div> 
</body> 
</html> 

facebookConnect.html: он хранится под SRC/главная/ресурсы/шаблоны/подключения папки:

<html> 
<head> 
<title>Hello Facebook</title> 
</head> 
<body> 
    <h3>Connect to Facebook</h3> 

    <form action="/connect/facebook" method="POST"> 
<input type="hidden" name="scope" value="read_stream" /> 
    <div class="formInfo"> 
    <p>You aren't connected to Facebook yet. Click the button to connect this application with your Facebook account.</p> 
</div> 
<p><button type="submit">Connect to Facebook</button></p> 
</form> 
</body> 
</html> 

И, наконец facebookConnected.html: также хранить в SRC/главная/ресурсы/шаблоны/папки подключения : Ниже файл для facebookConnected.html:

<html> 
<head> 
    <title>Hello Facebook</title> 
</head> 
    <body> 
    <h3>Connected to Facebook</h3> 
    <p> 
    You are now connected to your Facebook account. 
    Click <a href="/">here</a> to see some entries from your Facebook photos. 
    </p> 
</body> 
</html> 
+0

@Oldskool спасибо за редактирование –

+0

Ошибкой вы указали является родовой страница ошибки. Можете ли вы опубликовать данные об исключениях? Если вы запускаете приложение в терминале, то должна быть трассировка стека исключений. –

+0

Вы видите это?'2015-04-26 16: 11: 53.987 INFO 4817 --- [main] swsmmaRequestMappingHandlerMapping: Mapped" {[/], methods = [GET], params = [], headers = [], consumes = [], производит = [], custom = []} "на public java.lang.String hello.HelloController.helloFacebook (org.springframework.ui.Model)' –

ответ

26

Если контроллеры в другой структуре пакета, то @ComponentScan должна быть добавлена ​​к Spring Boot приложения class.

Пример:

@ComponentScan(basePackages={"package name of where the controller is"}) 
+2

Спасибо , это спасло мой день. – esseara

+0

Это сработало и для меня! Спасибо – Sai

+0

Спасибо, это сработало, нужно ли также включать имя пакета, в котором есть классы POJO? – Bravo

1

Если поставить контроллеры & Хранилища в разных пакетах,

затем @ComponentScan и @EnableMongoRepositories аннотаций, мы должны дать полный имя пакета контроллера & репозиторий.

@ComponentScan(basePackages={"package name of controller", "package name of repository"}) 
@EnableMongoRepositories("package name of repository") 
0

Вы можете попробовать использовать следующие

@RestController and produces = MediaType.APPLICATION_JSON_VALUE 

Например

@RestController 
public class MyController 

@GetMapping(value = "/xyz/{ab}", produces = MediaType.APPLICATION_JSON_VALUE)