java - 为什么 @Getmapping 在某些情况下不起作用?

标签 java spring spring-mvc

在我的 Controller 中,@GetMapping 的以下使用有效:

@GetMapping(value = "/new")
public String newEssay(){
    return "articles/essay_new";
}

但它不是这样工作的:

@GetMapping(value = "/essays/{essayId: [0-9]+}")
//@RequestMapping(value = "/essays/{essayId:[0-9]+}", method = RequestMethod.GET)
public String getEssay(Model model,
                       @PathVariable("essayId") long essayId) throws NoFindException, ForBiddenException, ParseException {
    JsEssay jsEssay = jsBiz.get(JsEssay.class, essayId);

    model.addAttribute("jsEssay", jsEssay);
    return "articles/essay";
}

我在 Spring 4.3.3 和 5.0.0.M5 上尝试过。

配置:

@Configuration
@ComponentScan( basePackages = {"me.freezehome.blog"},
            excludeFilters = {
                @ComponentScan.Filter(type = FilterType.ANNOTATION,     value = EnableWebMvc.class)
            }
)
public class RootConfig {
}



@Configuration
@EnableWebMvc
@Import({WebSecurityConfig.class})
public class WebConfig  extends WebMvcConfigurerAdapter{
    @Bean
    public RequestMappingHandlerMapping requestMappingHandlerMapping(){
        return new RequestMappingHandlerMapping();
    }
    @Bean
    public RequestMappingHandlerAdapter requestMappingHandlerAdapter(){
        return new RequestMappingHandlerAdapter();
    }
}

谷歌结果:

github来源:lbfreeze-blog-develop

最佳答案

请删除essayId:后面的空格

此外,您不需要为 @GetMapping 编写 value =

关于java - 为什么 @Getmapping 在某些情况下不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42638707/

相关文章:

java - 在java中发送邮件时出错

java - 使用 Spring Social、Spring security 登录后重定向到原始 URL?

java - 如何替换json文件中的值

java - Android smack 4.1 连接问题

java - MockMvc测试: model() and hasItem() methods are undefined

ajax - 如何将基于 Spring + Hibernate 的应用程序后端与纯 HTML 和基于 AJAX 的客户端连接?

java - Spring、Jersey 和 Viewable JSP 集成

java - JQuery 更新 <c :forEach> in Spring MVC

java - 请求方法 'GET' 不支持 Spring MVC

java - 如何在hibernate中仅删除@OneToOne双向映射的一侧