控制器从未打过话

时间:2016-09-27 20:48:18

标签: spring spring-boot spring-restcontroller

我创建了一个基本的Spring启动Web应用程序

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



@RequestMapping(value = "/rest")
@RestController
public class MemberController {

    @GetMapping(value = "/users/{memberId}/scan")
    public ResponseEntity<Void> getCardId(@PathVariable("memberId") Long memberId) 
    ...
    }
}

在浏览器中,如果我打电话

http://localhost:8080/rest/users/1/scan

我收到此消息

此应用程序没有/ error的显式映射,因此您将此视为后备。

Tue Sep 27 16:46:37 EDT 2016 出现意外错误(type = Not Found,status = 404)。 没有可用的消息

不明白我收到此消息的原因。

1 个答案:

答案 0 :(得分:0)

根据Spring引导文档14.2找到主应用程序类,建议您在其他类之上的根包中找到主应用程序类。

@EnableAutoConfiguration批注通常放在您的主类上,它隐式定义某些项目的基本“搜索包”。使用根包也可以使用@ComponentScan批注,而无需指定basePackage属性。这两个注释都在@SpringBootApplication中定义。

这应该在根包中

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

这应该在根目录或下面的软件包中

package root.controller;
@RequestMapping(value = "/rest")
@RestController
public class MemberController {

@GetMapping(value = "/users/{memberId}/scan")
public ResponseEntity<Void> getCardId(@PathVariable("memberId") Long memberId) 
...
    }
}