JavaでWebサービスを作成しました。 ReactJSのクライアントがWebサービスを呼び出し、応答を表示します。クライアントをlocalhost:8081で実行し、WebサービスをTomcat Apacheのlocalhost:8080で実行します。クライアントを実行するとエラーが表示されます(下に掲載されています)。私のコードで何が問題になるかも教えてください。ReactJSクライアントがJava Webサービスと通信できません
View.jsx (クライアント):
import React from 'react';
class View extends React.Component {
constructor() {
super();
this.state = {
text: "initial state"
};
}
componentDidMount() {
$.ajax({
url: "localhost:8080/UserManagement/rest/myService/data"
}).then((function(data) {
this.setState({text: data});
}).bind(this))
}
render() {
return (
<div>
{this.state.text}
</div>
);
}
}
export default View;
MyServer.java (Webサービス):
package com.tutorialspoint;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.json.JSONObject;
@Path("myService")
public class MyServer {
@GET
@Path("/data")
@Consumes(MediaType.APPLICATION_JSON)
public Response queryRESTService(InputStream incomingData) {
JSONObject jsonObject = null;
try {
String output = "";
InputStream inputStream = new FileInputStream("C:\\Users\\username\\Desktop\\myJSON.txt");
InputStreamReader inputReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
output += line + "\n";
}
jsonObject = new JSONObject(output);
bufferedReader.close();
}
catch (Exception e) {
}
return Response.status(200).entity(jsonObject.toString()).build();
}
@GET
@Path("/verify")
@Produces(MediaType.TEXT_PLAIN)
public Response verifyRESTService() {
String result = "MyRESTService Successfully started..";
return Response.status(200).entity(result).build();
}
}
https://enable-cors.org/ –