2017-03-16 55 views
0

我試圖實現一個Springboot REST api。和我已經定義@RestController的類似乎沒有工作。我有一個名爲MyService的類,它實現了所有的抽象方法。我在類聲明的頂部添加了@RestController註釋,併爲需要從其餘調用調用的方法添加@RequestMapping註釋。但這不起作用。我嘗試了一個沒有實現任何接口並且工作正常的類。春季啓動RestController將無法與類實現接口

下面是代碼

package com.my.service; 

import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RestController; 

@RestController 
public class MyService implements MyServiceInterface{ 

    @Override 
    @RequestMapping("/age") 
    public String Age() { 
     return "24"; 
    } 
} 

MyServiceInterface

public interface MyServiceInterface { 
    public String Age(); 
} 

的代碼,而我從郵遞員得到錯誤

{"timestamp":1489688505136,"status":404,"error":"Not Found","message":"No message available","path":"/age"} 
+0

能否請您分享您的「MyServiceInterface」並分享你所得到的例外.... – VelNaga

+0

的堆棧跟蹤@VelNaga檢查我的編輯 –

+0

當您啓動春季啓動的應用程序,它打印的所有映射在控制檯和/或日誌中。看看'/ age'是否映射到任何東西。你的問題可能在配置中。另外在Java方法中,名稱以小寫字母開頭。 – jny

回答

0

找到了!似乎添加@Override是我通過爲非覆蓋方法添加@RequestMapping(「/ age」)來管理它的原因。 像

@RequestMapping("/age") 
public String Age() { 
    return "24"; 
} 
+0

[at]覆蓋不是這裏的問題,因爲我的應用程序工作得很好。我有一個接口,它在一個類中實現,所有的方法都用[Override]和Request請求映射進行註釋。他們工作得很好。請檢查真實原因。 – Jayesh