2017-08-24 91 views
0

我正在測試一個支持POST請求的簡單登錄服務。netflix feign POST請求問題

儘管我已經在代碼中指定了POST並且日誌還反映了POST,但仍然收到錯誤405 Method Not Allowed。 這段代碼有沒有錯誤?

這是我的代碼

public interface LoginClient { 

    @RequestLine("POST") 
    @Headers("Content-Type: application/json") 
    AuthenticationToken login(LoginCredential loginCredential); 


} 

下面是日誌

11:30:33.895 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] ---> POST https://staging-test.nl/api/v0.1/login HTTP/1.1 
11:30:33.899 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] Content-Type: application/json 
11:30:33.899 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] Content-Length: 59 
11:30:33.899 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] 
11:30:33.899 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] { 
    "username": "testuser", 
    "password": "passw0rd" 
} 
11:30:33.899 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] ---> END HTTP (59-byte body) 
11:30:35.014 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] <--- HTTP/1.1 405 Method Not Allowed (1115ms) 
11:30:35.015 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] allow: POST, OPTIONS 
11:30:35.015 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] content-type: application/json 
11:30:35.015 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] date: Thu, 24 Aug 2017 08:30:34 GMT 
11:30:35.015 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] okhttp-received-millis: 1503563435003 
11:30:35.015 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] okhttp-sent-millis: 1503563434818 
11:30:35.015 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] server: nginx/1.11.8 
11:30:35.017 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] transfer-encoding: chunked 
11:30:35.017 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] vary: Cookie 
11:30:35.017 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] x-frame-options: SAMEORIGIN 
11:30:35.017 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] 
11:30:35.019 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] {"detail":"Method \"GET\" not allowed."} 
11:30:35.019 [main] DEBUG com.baeldung.feign.clients.MyLoginClient - [MyLoginClient#login] <--- END HTTP (40-byte body) 

回答

0

這是從我結束的錯誤。該URL在結束點後缺少「/」。