我有一个java客户端,它将JSON对象发送到服务器(REST服务)。 代码非常完美。我当前的服务器返回" RESPONSE",但我想修改我的代码以从服务器返回一个字符串到客户端(类似于"传输正常") - 除了从中发送对象客户端到服务器。 这是我的代码
服务器:
@Path("/w")
public class JSONRESTService {
@POST
@Path("/JSONService")
@Consumes(MediaType.APPLICATION_JSON)
public Response JSONREST(InputStream incomingData) {
StringBuilder JSONBuilder = new StringBuilder();
try {
BufferedReader in = new BufferedReader(new InputStreamReader(incomingData));
String line = null;
while ((line = in.readLine()) != null) {
JSONBuilder.append(line);
}
} catch (Exception e) {
System.out.println("Error Parsing: - ");
}
System.out.println("Data Received: " + JSONBuilder.toString());
// return HTTP response 200 in case of success
return Response.status(200).entity(JSONBuilder.toString()).build();
}
}
客户端:
public class JSONRESTServiceClient {
public static void main(String[] args) {
String string = "";
try {
JSONObject jsonObject = new JSONObject("string");
// Step2: Now pass JSON File Data to REST Service
try {
URL url = new URL("http://localhost:8080/w/JSONService");
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "application/json");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
out.write(jsonObject.toString());
out.close();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
while (in.readLine() != null) {
}
System.out.println("\nJSON REST Service Invoked Successfully..");
in.close();
} catch (Exception e) {
System.out.println("\nError while calling JSON REST Service");
System.out.println(e);
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
因此,为了从服务器返回一个字符串到客户端 - 我首先修改了服务器中的方法以返回一个字符串, 我把它添加到我的客户端:
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuffer sb = new StringBuffer("");
String line="";
while (in.readLine() != null) {
sb.append(line);
break;
}
System.out.println("message from server: " + sb.toString());
in.close();
但我的字符串是空的。 我究竟做错了什么?我应该如何修改我的服务器/客户端以接收简单的字符串甚至是对象? 感谢。
答案 0 :(得分:1)
您的代码(示例):
@foreach($house as $value)
<?php $check = 0; $ok;?>
@foreach($house_img as $va)
@if($va->house_id == $value->id)
<?php
$check = 1;
$ok = $va->house_img;
?>
@break
@endif
@endforeach
@if($check == 1)
<img src="{{asset('house_img/')}}/{{$ok}}" >
@endif
@endforeach