を書く、私は次のようになり、プロジェクトの構造を、得た私のアプローチが良いか全く間違っている場合は、本当に知らないので、私と一緒に私はRESTfulなWebサービスを使用する方法を学んでいRESTfulなWebサービスを通じてJSONobjectに
を負担します:
私は右のURLを呼び出してしたい、ここでDatum.Json
に応じて文字列を保存したWebServiceの私のJavaクラスです。
package Rest;
@Path("/calendar")
public class CalendarTest {
public List<Date> dates;
@GET
@Path("/dates/get/")
@Produces(MediaType.APPLICATION_XML)
public List<Date> getUsers(){
return dates;
}
@PUT
@Path("/dates/put/{param1}+{param2}")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public void updateDate(@PathParam("param1") String city, @PathParam("param2") String date) throws IOException {
JSONObject obj = new JSONObject();
obj.put("City", city);
obj.put("Date", date);
try (FileWriter file = new FileWriter("/RestTest/Datum.json")) {
file.write(obj.toJSONString());
System.out.println("Successfully Copied JSON Object to File...");
System.out.println("\nJSON Object: " + obj);
}
}
}
私は マイweb.xml
ファイル(私は私のローカルホストでform.htmlを開くことができます)、それが正常に動作し、ローカルホストをテストした:
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Restful Web Application</display-name>
<servlet>
<servlet-name>jersey-serlvet</servlet-name>
<servlet-class>
org.glassfish.jersey.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>Rest</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<security-constraint>
</security-constraint>
</web-app>
しかし、私はURLを試してみましたhttp://localhost:8080/RestTest/rest/calendar/dates/put/Berlin+20-12-2019
それを方法が許可されていないと言います。
誰も私に説明することができますか?
を?ありがとう! –
@TuấnPhạm1つのオプションはjQueryですが、AngularJSフレームワークもあります。 PUTではなくPOSTを使用する場合は、HTMLフォームを使用してリクエストを送信することができます – tima