2017-09-28 1 views
-1

문제 설명어떻게 자바/봄/나머지

나는 봄/나머지 응용 프로그램에 새로운 오전과 내가 Object에 데이터가를 사용하여 API에 포스트 JSON 객체 데이터를 전달합니다.

이제이 데이터를 API에 전달해야합니다. 다음은

curl --request POST \ 
    --url http://eventapi-dev.wynk.in/tv/events/v1/event \ 
    --header 'cache-control: no-cache' \ 
    --header 'content-type: application/json' \ 
    --header 'postman-token: 67f73c14-791f-62fe-2b5a-179ba04f67ba' \ 
    --data '{"name":"hotel california", "createdAt":1505727060471, "steamUrl":"https://www.youtube.com/watch?v=lHje9w7Ev4U"}' 

내가 터미널에서 컬 URL을 친 후 가지고 응답은

내가 누구 어떻게 작성하는 나를 인도 할 수 좋아 단일 기록 -에 대한 첨부 샘플 컬입니다 Java의 코드.

+1

간단한 java? java.net. * API에 익숙하다. – Optional

+0

[실제 질문이 아닌 이유는 무엇입니까?] (https://meta.stackoverflow.com/questions/284236/why-is-can-someone-help-me-not-an- 실제 질문) 질문을하기 전에. –

답변

1

okhttp (https://github.com/square/okhttp)를 사용하여이 API를 호출 할 수 있습니다. 예 :

OkHttpClient client = new OkHttpClient(); 

MediaType mediaType = MediaType.parse("application/json"); 
RequestBody body = RequestBody.create(mediaType, "{\n\t\"name\":\"hotel california\", \n\t\"createdAt\":1505727060471, \n\t\"steamUrl\":\"https://www.youtube.com/watch?v=lHje9w7Ev4U\"\n}"); 
Request request = new Request.Builder() 
    .url("http://eventapi-dev.wynk.in/tv/events/v1/event") 
    .post(body) 
    .addHeader("content-type", "application/json") 
    .addHeader("cache-control", "no-cache") 
    .addHeader("postman-token", "08af0720-79cc-ff3d-2a7d-f208202e5ec0") 
    .build(); 

Response response = client.newCall(request).execute(); 
+0

@Tran Duc Hung 어떻게 내 물건을이 곳에 보냅니 까. –

+1

@JalajChawla : 'RequestBody body = RequestBody.create (..., ...)'또는 다른 질문에 대한 답변을 JSON을 온라인으로 전달해야한다는 답변이 꽤 있습니다. 또는 Jackson 등의 JSON API를 사용하여 JSON 객체로 POJOS를 표현한 다음 문자열 등으로 변환 할 수 있습니다. –

+1

@JalajChawla gson을 사용할 수 있습니다 –

-2

URL은 끝점입니다. 즉, 요청에 응답 할 수있는 컨트롤러를 작성해야한다는 것을 의미합니다. 요청 내용에는 헤더가 표시되어 있습니다. 이러한 헤더는 로그인하여 json 텍스트를 보내고 있다고 봄에 알리는 데 사용됩니다. 또한 요청을 확인하는 경우 "POST"이므로 제어기 메소드에이를 알릴 필요가 있습니다. 모델을 사용하여 모든 데이터를 포착하는 것이 좋습니다.

그러면 작업은 이와 같아야합니다.

  1. url에 응답 할 수있는 컨트롤러를 만듭니다.
  2. 컨트롤러 메서드 데이터가 Json 형식임을 알립니다.
  3. "POST"요청을 기다려야하는 컨트롤러 메서드에 알립니다.
  4. 데이터를 모델에 구문 분석합니다.

코드를 사용해 보겠습니다. 귀하의 경우에는

@RequestMapping(value = events.EVENT, method = RequestMethod.POST, consumes = { 
     MediaType.APPLICATION_JSON_VALUE }, produces = { MediaType.APPLICATION_JSON_VALUE }) 
public Event eventAction(@RequestBody Event event){ 

}

당신은 이벤트가 무엇을 정의해야합니다. 수업은 이렇게해야합니다.

public class Quota implements Serializable{ 
private String name; 
private Date createAt; 
private String url; 

// create getter setter 
} 

이제이 요청에 응답 할 수 있습니다. 컨트롤러 메소드 내부에서 비즈니스 로직을 수행 할 수 있습니다.

+0

lol 이것이 완전히 다릅니다 :)) 어쨌든 누군가가 끝점을 복제하려고합니다. . –

1

here maily bu와 같은 것을 HttpURLConnection & URL을 사용해야합니다. JSON 데이터는 다음 해당 API를 사용하여 몇 가지 더 답을 알고도 this question을 따를 수 String

로 전달되는이

당신은 포스트 시나리오에 대해 알 수 있습니다.

Apache HttpClient을 사용하고 사이트에서 예제를 탐색 할 수도 있습니다.

Apache HttpClient의 예는 here입니다.

내가이 웹 사이트의 관련 코드 샘플을이 답변에 붙여 넣어야하는지 확신 할 수 없지만 아이디어는 매우 간단하게 작성 및 실행에 도움이되는 API를 찾아야 만합니다. REST 요청

다른 API는 - Trần Đức Hùng의 답변에 나열되어 있으므로 시장에서 사용할 수있는 수많은 다른 Java API가 있습니다.