retrofit post 예제

Hii , API에 전달 된 매개 변수를 확인하는 방법이 있습니까? 포스트 어노션을 사용하여 api를 호출하고 pojo 클래스 개체를 전달하려고 할 때 api가 매개 변수를 읽을 수 없기 때문입니다. 파일 activity_main.xml은 MainActivity의 레이아웃입니다. 이 레이아웃에는 게시물 제목에 대한 텍스트 편집 필드가 하나 있고 다른 하나는 게시물 본문에 대한 필드가 있습니다. 또한 API에 게시물을 제출 하는 버튼이 포함되어 있습니다. MainActivity 클래스의 sendPost (문자열, 문자열) 메서드에서 게시물의 제목과 본문을 이 메서드에 전달했습니다. 이 메서드는 우리의 API 서비스 인터페이스 메서드 savePost (문자열, 문자열) 누구의 작업은 API에 제목 및 본문을 보내는 POST 요청을 실행 하는 호출. showResponse(문자열 응답) 메서드가 화면에 응답을 표시합니다. 생성된 OkHttp 클라이언트는 retrofit2를 사용하여 Retrofit 클라이언트에 추가되어야 합니다. Retrofit.Builder.client(OkHttpClient) 메서드. com.vogella.retrofitgerrit라는 새로운 Gradle 프로젝트를 만듭니다. src/main/java에 새 패키지를 추가하여 com.vogella.retrofitgerrit라는 이름으로 추가합니다. API에서 게시물을 업데이트하려면 {id}가 업데이트하려는 게시물의 ID에 대한 자리 표시자인 끝점 /posts/{id}가 있습니다. @Path 어구는 URL 경로 세그먼트 {id}에서 명명된 대체 항목입니다.

값이 String.valueOf(Object) 및 인코딩된 URL을 사용하여 문자열로 변환됩니다. 값이 이미 인코딩된 경우 @Path(value=”name”, 인코딩=true)와 같은 URL 인코딩을 비활성화할 수 있습니다. APIService 클래스를 보면 savePost()라는 메서드가 있습니다. 메서드 위에는 @POST 개의 추가 가 있는데, 이 메서드가 호출될 때 POST 요청을 실행하려는 것을 나타냅니다. @POST 개의 추가에 대한 인수 값은 /posts인 끝점입니다. 따라서 전체 URL이 http://jsonplaceholder.typicode.com/posts. 예제에서는 다음 쿼리 URL을 사용합니다. 브라우저에서 이 URL을 열고 응답을 살펴보십시오. 끝점은 매개 변수 및 요청 메서드에 대한 세부 정보를 인코딩하기 위해 특수 개조 주석을 사용하여 인터페이스 내부에 정의됩니다. 또한 Retrofit 클라이언트에 추가한 인터셉터를 살펴보십시오. OAuth를 사용 하므로 각 호출마다 자격 증명이 다릅니다.

postCredentials 메서드는 기본 체계에서 자격 증명을 트위터에 게시해야 하며, 이 자격 증명은 소비자 키와 비밀로 구성됩니다. 결과적으로 이 호출은 보유자 토큰 Retrofit을 OAuthToken 클래스로 역직렬화한 다음 토큰 필드에 저장합니다. 추가 요청은 이제 이 토큰을 권한 부여를 위한 자격 증명으로 사용할 수 있습니다( 그리고 이를 사용해야 합니다). 사용자 세부 정보를 가져오기 위한 요청도 마찬가지입니다. accountService.doLogin(로그인요청).enqueue(새 콜백() { @Override 공개 무효 온응답(@NonNull 호출, @NonNull retrofit2. 응답 응답) { 경우 (response.isSuccessful() 및 응답.body()=null) { 스위치 (response.body())=null) { 경우 “실패”: {edtEmailid.setError(response.body(응답.getEmail())를 시도하십시오); edtPassword.setError(응답.body(응답)). getErrors().getPassword()); 업데이트로더(false); } 캐치 (예외 e) { e.printStackTrace(); } 간단한 XML: com.squareup.retrofit:변환기-simplexml 예를 들어, 전화 APIService.savePost (“라고스에 내 방문”, “내가 방문…”, 2) 제목의 요청 본문을 산출 =내 +방문 +라고스&몸 =I+방문…&userId=2.