晚上好,我有以下代码来执行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