为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Boot 显示对索引的 http 请求,但不显示任何其他映射

Spring Boot 显示对索引的 http 请求,但不显示任何其他映射

莫回无 2022-11-02 16:00:31
Spring Boot 显示对索引路径的 HTTP 请求,但不显示任何其他映射。我创建了一个在 localhost:8060 上运行的 Spring Boot 应用程序。问题是,当我在浏览器上运行 localhost:8060 时,它可以工作,但是当我运行任何其他请求时,它会显示“出现意外错误(type=Forbidden,status=403)。拒绝访问'。在日志中它说它找到了正确的方法,即它正确映射但仍然抛出这个错误。问候.javaimport org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/** * Main application to launch spring boot. */@RestControllerpublic class Greetings {    /**     * Main application to launch spring boot.     */    @RequestMapping("/")    public String index() {        return "Greetings from Spring Boot!";    }    @RequestMapping("/testing123")    public String indextest() {        return "Testing";    }}服务器应用程序import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.ApplicationContext;import org.springframework.scheduling.annotation.EnableAsync;/** * Main application to launch spring boot. */@SpringBootApplication@EnableAutoConfiguration@EnableAsyncpublic class ServerApplication {    private static Logger logger = LoggerFactory.getLogger(ServerApplication.class);    /**     * Start the Spring Boot application.     *     * @param args command line arguments     */    public static void main(String[] args) {        ApplicationContext context = SpringApplication.run(ServerApplication.class, args);        logger.info("Sample Application started with context {}", context.getDisplayName());    }}所以它确实显示“来自 Spring Boot 的问候!” 当我去 localhost:8060 但在 localhost:8060/testing123 上抛出错误
查看完整描述

1 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

因为您的主类ServerApplication位于另一个包中,该包是 Spring Boot 应用程序的基础包。


但是控制器Greetings在不同的包中,而不是主类的子包,默认情况下,spring boot 应用程序将所有使用任何原型注释的类从sub packages基包的任何构造型注释作为springbean 加载到ApplicationContext


@ComponentScan在Main课堂上使用


@SpringBootApplication

@EnableAutoConfiguration

@EnableAsync

@ComponentScan({"com.vmware.skyscraper", "com.skyscraper.vdisizer"})

public class ServerApplication {


private static Logger logger = LoggerFactory.getLogger(ServerApplication.class);


/**

 * Start the Spring Boot application.

 *

 * @param args command line arguments

 */

public static void main(String[] args) {

    ApplicationContext context = SpringApplication.run(ServerApplication.class, args);

    logger.info("Sample Application started with context {}", context.getDisplayName());

  }

}


查看完整回答
反对 回复 2022-11-02
  • 1 回答
  • 0 关注
  • 106 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信