Jersey Client で JavaからAPI連携する
必要なmaven
以下3つが必要
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.27</version>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.26</version>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
<version>2.26</version>
足りないと
java.lang.ClassNotFoundException: org.glassfish.jersey.internal.l10n.LocalizableMessageFactory$ResourceBundleSupplier
こういうわけわかんないエラーでる
実装:POSTで連携する
✩http://localhost:8080/test/api1 のAPIを呼びたい
public void excute(RequestData req) {
String result = ClientBuilder.newClient()
// 連携先の決まってるurl
.target("http://localhost:8080")
// パス 連携先で変わるところ
.path("/test/api1")
//Xml形式でリクエストするかJSON形式でリクエストするか決めるところ
// xmlならこれを指定→APPLICATION_XML_TYPE
.request(MediaType.APPLICATION_JSON_TYPE)
// データ突っ込む
//MediaTypeでなんの形式でレスポンス受け取るか指定今回はJSON
.post(Entity.entity(req, MediaType.APPLICATION_JSON), String.class);
// 標準出力にレスポンスを表示
System.out.println(result);
}
Author And Source
この問題について(Jersey Client で JavaからAPI連携する), 我々は、より多くの情報をここで見つけました https://qiita.com/Sue_chan/items/35f16d7548a57f1eb634著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .