我无法在Spring Boot项目中包含Restcontroller-错误404

时间:2018-11-24 07:02:29

标签: spring spring-boot

Spring Boot上的新手PB,我无法将RestController添加到我的应用程序中。

以下是用于使用maven构建此非常简单的应用程序的2个文件:

1)Application.java

package com.learn.hello;

import java.util.Arrays;

import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;


@Configuration
@ComponentScan(basePackages = "com.learn.hello.controller")
@RestController
@SpringBootApplication
public class Application {

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

@RequestMapping("/")
    public String index() {
    return "Greetings from Spring Boot!";
}
}

HelloController.java

package com.learn.hello.controller;

import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;

@RestController
public class HelloController {

@RequestMapping("/titi")
public String index() {
    return "Greetings from titi Boot!";
}

}

项目的结构

/src/main/java/com/learn/hello/Application.java
/src/main/java/com/learn/hello/controller/HelloController.java
/target/*
/pom.xml

localhost:8080有效

但是没有localhost:8080 / titi(找不到404)

有什么主意吗? 谢谢

2 个答案:

答案 0 :(得分:0)

您忘记提供请求方法RequestMethod.GET了:

 2 35 4 3  and output 2 35 3 4

您可以使用@GetMapping(“ / titi”)代替@RequestMapping(“ / titi”):

@RequestMapping(value = "/students", method = RequestMethod.GET)

答案 1 :(得分:0)

对于所有人,非常感谢您的回答。

@Valerio, 你是对的,这是正确的!实际上,在文件名的末尾添加了一个不可见的字符:HelloController.java(我可能将Sublime搞砸了……),因此maven并未将其作为Java文件进行处理...

对不起,很抱歉。

顺便说一句,如果有人知道任何类型的选项来警告我/ src / main / java / *目录中的文件未作为“常规Java项目”文件处理,我什至也想知道尽管我怀疑这是否真的可行并因此存在...