晚上好,我有以下代碼來執行rest/teste123服務,並從angular-js代碼調用此方法,已通過基本身份驗證進行身份驗證與春季啓動我有機會獲得這項服務。 當我嘗試從我的android或postman擴展的chrome中的retrofit2訪問它時,我得到了404。 有人向我解釋我做錯了什麼。 只是爲了說清楚,我指的是正確的ip pc是192.168 ....而不是在本地主機的通話時間。 謝謝。404錯誤當試圖訪問URL使用彈簧啓動後
@RestController
public class TesteController {
@RequestMapping(value = "/teste123", method = RequestMethod.POST)
public Programa test(@RequestBody Programa prog) {
System.out.println(prog);
return new Programa();
}
}
遵循AngularJS中的示例代碼工作。
$http.post("/teste123", {id: 'asd', txtPrograma: 'adsadasd'})
.then(function (response) {
console.log(response);
}, function (response) {
console.log(response);
})
這裏在android上使用的接口。
public interface ExecucaoService {
@POST("execucao/gravaLote")
public Call<Programa> gravaLote(@Body Programa programa);}
並在標題Retrofit中添加憑證,如下所示。
private static OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
private static Retrofit.Builder builder =
new Retrofit.Builder()
.baseUrl(baseUrlWS)
.addConverterFactory(GsonConverterFactory.create());
String credentials = username + ":" + password;
final String basic = "Basic " + Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP);
httpClient.addInterceptor(new Interceptor() {
@Override
public okhttp3.Response intercept(Interceptor.Chain chain) throws IOException {
Request original = chain.request();
Request.Builder requestBuilder = original.newBuilder()
.header("Authorization", basic)
.header("Accept", "application/json")
.method(original.method(), original.body());
Request request = requestBuilder.build();
return chain.proceed(request);
}
});
OkHttpClient client = httpClient.build();
Retrofit retrofit = builder.client(client).build();
// retrofit.create(serviceClass); aqui pego a instancia do serviço criada.
我仍然希望不是對問題或郵遞員進行改造,而是在sptring-boot中做了一個設置。 爲英文道歉,我正在使用谷歌翻譯。
發現刪除彈簧啓動安全他給404錯誤。 這可能是bug-boot spring-security? – Jandrei
請問您可以發佈您的application.properties/yml嗎? – alexbt
我得到了postgres的用戶,我調試和確定,工作。對於與Web應用程序的角度正常工作。 我在aplication.properties上沒有用戶設置和密碼 – Jandrei