안녕하세요
안드로이드 앱 개발 공부중인데요.
REST API Server에 아래 캡처 이미지 처럼 RestClient Test로 전송을 하면 결과가 정상적으로 잘 나옵니다.
근데 안드로이드 스튜디오에서 retrofit으로 전송하면 "400 bad request" 오류가 발생하며 결과가 제대로 나오지 않습니다.
아래는 소스입니다.
=====> MainActivity.java
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://192.168.0.150:19800/APIService/")
.addConverterFactory(GsonConverterFactory.create())
.build();
WebEndPoints endPoints = retrofit.create(WebEndPoints.class);
endPoints.do_auth("01090091234", 15).enqueue(new Callback<AuthResult>() {
@Override
public void onResponse(Call<AuthResult> call, Response<AuthResult> response) {
AuthResult result = response.body(); // result가 null이어서 response를 확인하니 bad request임
//통신 성공
if (result != null)
Log.e("model", "Success");
}
@Override
public void onFailure(Call<AuthResult> call, Throwable t) {
//통신 실패
Log.e("model", "Failed");
}
});
========> WebEndPoints.java (인터페이스)
<pre>public interface WebEndPoints {
@Headers({"Content-Type: application/json", "User-Agent: Retrofit-Sample-App"})
@FormUrlEncoded
@POST("AuthResult")
Call<AuthResult> do_auth(@Field("strTelNo") String strTelNo, @Field("nCompCode") Integer nCompCode);
}
========> AuthResult.java
public class AuthResult {
public Integer ret;
public String version;
public String apkname;
public AuthResult()
{
ret = 0;
version = "";
apkname = "";
}
}
소스는 위와 같습니다.
400 bad request는 전송할때 값이 잘못되었을 때 나오는 오류라고 하는데
어디부분이 잘못되었을까요?
답변부탁드립니다.
감사합니다.