Tôi đã tạo một RESTservice REST bằng cách sử dụng jax-rs và jersey được cho là sử dụng JSON trên một yêu cầu POST. My lớp dịch vụ web trông như thế này:REST Webservice trả về 415 - Loại phương tiện không được hỗ trợ
@Path("/webhookservice")
public class Webhook {
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response readData (Song song) {
// Prints out the song info
System.out.println("SONG INFO \n=======================");
System.out.println("songname: " + song.getSongname());
System.out.println("artist: " + song.getArtist());
// Repsonse with a HTTP 200 OK
Response response = Response.status(200).build();
return response;
}
}
My Sông lớp:
public class Song {
private String songname;
private String artist;
public String getSongname() { return this.songname; }
public String getArtist() { return this.artist; }
public void setSongname (String songname) { this.songname = songname; }
public void setArtist (String artist) { this.artist = artist; }
}
web.xml của tôi (nếu cần thiết)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<servlet>
<servlet-name>SnapScan-Webhook</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>za.co.lancet.service</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SnapScan-Webhook</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
Tôi đang sử dụng RESTClient một chút, cũng , khách hàng còn lại ... Đây là ảnh chụp màn hình của những gì tôi đang gửi:
Khi tôi gửi đi, tôi gặp lỗi 415 Loại phương tiện không được hỗ trợ. Bất kỳ ai có một ý tưởng tại sao?
Khách hàng có gửi tiêu đề 'Content-Type: application/json' không? – lefloh
Bạn biết những gì bạn có thể đúng. Hãy để tôi xem – Tiwaz89
@lefloh - Bạn là người chiến thắng! Bạn đã đúng, tôi thậm chí không biết bạn cần phải đặt nó trong các ứng dụng khách hàng nhỏ. Bạn có thể đăng bài như một câu trả lời và tôi sẽ chấp nhận. Cảm ơn! – Tiwaz89