2017-04-26 51 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()

相關問題