netflix feign POST请求问题

时间:2017-08-24 08:48:16

标签: rest http-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)

1 个答案:

答案 0 :(得分:0)

这是我的错误。该网址缺少&#34; /&#34;在结束点之后。