私のプロジェクトのjspページに、CDオブジェクトの作成に必要な情報を送信するフォームを作成しようとしています。私はこれがJSONで動作することを知っています。私はpostmanと呼ばれるGoogleプラグインを使用しています.jsonで投稿要求を行い、新しいcdをすべてのCDのリストに追加します。JAX-RXを使用したREST API jspページのフォームから解析されたJSONの送受信
私はjsonで動作するGUIクライアントを作成する必要がありますが、解析された情報を表示します。私はいくつかのクラスを投稿します。私はサイトを検索したが、本当にここで私を助けることができる何かを見つけることができません。サポートされていないメディアタイプのエラーが発生しています...データを送信する前に何らかの理由でJSONを解析する必要があると思いますか?ここで
@Path("/cd")
public class CDResources {
CDService c = new CDService();
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public CD addCD(CD cd)
{
return c.addCD(cd);
}
(あなたはAJAXを使用している場合を除き)フォーム
<form action="webapi/cd/" method="post">
<p>
Artist : <input type="text" name="artist" />
</p>
<p>
Artist : <input type="number" name="numberOfTracks" />
</p>
<p>
Artist : <input type="text" name="title" />
</p>
<input type="submit" value="Submit" />
</form>
CDクラス
package Assignment.crud.model;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class CD {
String title;
int numberOfTracks;
String artist;
long id;
public CD() {
}
public CD(long id,String title,String artist,int numberOfTracks) {
super();
this.title = title;
this.numberOfTracks = numberOfTracks;
this.artist = artist;
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getNumberOfTracks() {
return numberOfTracks;
}
public void setNumberOfTracks(int numberOfTracks) {
this.numberOfTracks = numberOfTracks;
}
public String getArtist() {
return artist;
}
public void setArtist(String artist) {
this.artist = artist;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
}
CDサービスクラス
package Assignment.crud.service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import Assignment.crud.database.DatabaseClass;
import Assignment.crud.model.CD;
public class CDService {
private Map<Long, CD> cds = DatabaseClass.getCDs();
public CDService()
{
cds.put(1L, new CD(1,"Fleet Foxes","Helplessness Blues",10));
cds.put(2L, new CD(2,"Van Morrison","Tupelo Honey",12));
}
public List<CD> getAllCDs()
{
return new ArrayList<CD>(cds.values());
}
public CD getCD(long id)
{
return cds.get(id);
}
public CD addCD(CD cd)
{
cd.setId(cds.size()+1);
cds.put(cd.getId(), cd);
return cd;
}
public CD updateCD(CD cd)
{
if(cd.getId()<=0)
{
return null;
}
cds.put(cd.getId(), cd);
return cd;
}
public CD removeCD(long id)
{
return cds.remove(id);
}
}
エラーが発生した場合や実際に直面している問題が投稿された場合に役立ちます。 'public CD addCD(CD cd)'は実際に呼ばれますか? –