2017-03-07 2 views
1

In meinem Controller, wird die folgende Verwendung von @GetMapping funktioniert:Warum funktioniert @Getmapping in einigen Fällen nicht?

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

Aber es so nicht funktioniert:

@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"; 
} 

Ich versuchte es mit Frühling 4.3.3 und 5.0.0. M5.

Config:

@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(); 
    } 
} 

Google Ergebnisse:

Github Quelle: lbfreeze-blog-develop

+0

Haben Sie versucht, den Platz nach 'essayId:' zu entfernen? (Sie müssen auch nicht schreiben "value =') – bphilipnyc

+0

@bphilipnyc Es funktioniert, nachdem ich den Raum nach 'essayId:' entfernen –

Antwort

1

Bitte entfernen Sie den Raum nach essayId:

Auch brauchen Sie nicht value = für @GetMapping zu schreiben.

Verwandte Themen