2017-04-26 33 views
1

我正在尝试一个简单的弹簧启动应用程序。这是我的代码。所以当我运行它时,调用sayHello()为什么?春季启动应用程序哪个方法将被调用没有路径

@RestController 
public class HelloController { 

    @RequestMapping() 
    public String sayHello2(){ 
     return "Hello2"; 
    } 
    @RequestMapping(produces = { "text/html" }) 
    public String sayHello(){ 
     return "Hello"; 
    } 
} 

回答

1

这取决于你从哪里调用api。当你从默认格式为text/html的浏览器调用时,它会调用sayHello。尝试拨打电话curl,它会打电话说你好2

0

这取决于你的请求头。如果请求标头有接受text/html(通常来自浏览器),则执行相应的请求。正如@pvpkiran指出的那样,尝试curl或更改Accept标头以查看差异。

0

您没有提供URL模式,该方法共享 映射,因为您没有在那里提及,即“/”。

@RestController 
public class HelloController { 

    @RequestMapping(value="/") 
    public String sayHello2(){ 
     return "Hello2"; 
    } 
    @RequestMapping(value="/hello",produces = { "text/html" }) 
    public String sayHello(){ 
     return "Hello"; 
    } 
} 

现在当u进入/将执行sayHello2(),当URL模式是/你好将执行的sayHello()

相关问题