Slide 71
Slide 71 text
public Pet getPet(final String id) {
String https_url = "https:!//petstore.swagger.io/v2/pet/" + id;
URL url;
try {
url = new URL(https_url);
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
if (con !!= null) {
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
String response = "";
String input;
while ((input = br.readLine()) !!= null) {
System.out.println(input);
response += input;
}
br.close();
JSONObject object = new JSONObject(response);
Pet result = new Pet();
result.setId(object.getInt("id"));
result.setName(object.getString("name"));
result.setStatus(object.getString("status"));
JSONArray photos = object.getJSONArray("photoUrls");
List photoArrays = new ArrayList!<>();
for (int i = 0; i < photos.length(); i!++) {
photoArrays.add(photos.getString(i));
}
result.setPhotoUrls(photoArrays);
JSONArray tags = object.getJSONArray("tags");
List tagArrays = new ArrayList!<>();
for (int i = 0; i < tags.length(); i!++) {
tagArrays.add(tags.getString(i));
}
result.setTags(tagArrays);
System.out.println(result);
System.out.println(result.getId());
System.out.println(result.getName());
System.out.println(result.getPhotoUrls().get(0));
System.out.println(result.getStatus());
System.out.println(result.getTags().get(0));
return result;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
public class Pet {
private Integer id;
private String name;
private List photoUrls = null;
private List tags = null;
private String status;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List getPhotoUrls() {
return photoUrls;
}
public void setPhotoUrls(List photoUrls) {
this.photoUrls = photoUrls;
}
public List getTags() {
return tags;
}
public void setTags(List tags) {
this.tags = tags;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
fun getPet(id: String): Pet? {
val https_url = "https:!//petstore.swagger.io/v2/pet/$id"
val url: URL
try {
url = URL(https_url)
val con = url.openConnection() as HttpsURLConnection
val br = BufferedReader(InputStreamReader(con.inputStream))
var response = ""
var input: String? = br.readLine()
while (input !!= null) {
println(input)
response += input
input = br.readLine()
}
br.close()
val parsedObject = JSONObject(response)
val photos = parsedObject.getJSONArray("photoUrls")
val photoArrays = ArrayList()
for (i in 0 until photos.length()) {
photoArrays.add(photos.getString(i))
}
val tags = parsedObject.getJSONArray("tags")
val tagArrays = ArrayList()
for (i in 0 until tags.length()) {
tagArrays.add(tags.getString(i))
}
val result = Pet(
id = parsedObject.getInt("id"),
name = parsedObject.getString("name"),
status = parsedObject.getString("status"),
photoUrls = photoArrays,
tags = tagArrays
)
println(result)
println(result.id)
println(result.name)
println(result.photoUrls!!![0])
println(result.status)
println(result.tags!!![0])
return result
} catch (e: MalformedURLException) {
e.printStackTrace()
} catch (e: IOException) {
e.printStackTrace()
} catch (e: JSONException) {
e.printStackTrace()
}
return null
}
data class Pet(
var id: Int?,
var name: String?,
var photoUrls: List?,
var tags: List?,
var status: String?
)
data class Tag(var id: Int?, var name: String?)
fun getPet(id: String): Pet? {
val https_url = "https:!//petstore.swagger.io/v2/pet/$id"
val url: URL
try {
url = URL(https_url)
val con = url.openConnection() as HttpsURLConnection
val br = BufferedReader(InputStreamReader(con.inputStream))
var response = ""
var input: String? = br.readLine()
while (input !!= null) {
println(input)
response += input
input = br.readLine()
}
br.close()
val moshi = Moshi.Builder().build()
val jsonAdapter = moshi.adapter(Pet!::class.java)
val pet = jsonAdapter.fromJson(response)
println(pet)
return pet
} catch (e: MalformedURLException) {
e.printStackTrace()
} catch (e: IOException) {
e.printStackTrace()
}
return null
}
data class Pet(
var id: Int?,
var name: String?,
var photoUrls: List?,
var tags: List?,
var status: String?
)
data class Tag(var id: Int?, var name: String?)
fun getPet(id: String): Pet? {
val client = OkHttpClient.Builder().build()
val request = Request.Builder().url("https:!//petstore.swagger.io/v2/pet/$id").build()
client.newCall(request).execute().use {
val moshi = Moshi.Builder().build()
val jsonAdapter = moshi.adapter(Pet!::class.java)
val pet = jsonAdapter.fromJson(it.body()!?.string()!!!)
println(pet)
return pet
}
}
data class Pet(
var id: Int?,
var name: String?,
var photoUrls: List?,
var tags: List?,
var status: String?
)
data class Tag(var id: Int?, var name: String?)