簡體   English   中英

消費JSON的Jersey REST問題

[英]Jersey REST issue with consuming JSON

我發現自己處於這樣一種情況,我需要在服務器上通過POST獲取一些數據,並用它做一些簡單的事情。 但是當我嘗試使用www.hurl.it網站進行測試時,它總是說415不支持的媒體類型。

這是我要發送的json:

{
  "pictures": {
    "picture": [
      {
        "id": "1",
        "name": "10_aut_linen_male_less_student_work_yellow_n_cold.png"
      },
      {
        "id": "2",
        "name": "10_aut_linen_male_less_student_work_yellow_n_mild.png"
      },
      {
        "id": "3",
        "name": "10_aut_linen_male_less_student_work_yellow_n_hot.png"
      }
    ]
  }
}

這是模型類:

package com.models.sm7;


import java.util.ArrayList;
import java.util.List;


public class Sm7Pictures {
private Pictures pictures;
    public Pictures getPictures() {
        return pictures;
    }
    public void setPictures(Pictures pictures) {
        this.pictures = pictures;
    }


public class Pictures {
    private List<Picture> picture = new ArrayList<Picture>();
        public List<Picture> getPicture() {
            return picture;
        }
        public void setPicture(List<Picture> picture) {
            this.picture = picture;
        }

    }



public class Picture {
    private String id;
private String name;
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }


    }
}

這是我的服務班級:

@Path("sm7Service")
public class Sm7Service {

    Sm7DAO sm7DAO = new Sm7DAO();


    @GET
    @Path("/testSm7")
    @Produces(MediaType.TEXT_PLAIN)
    public String testSm (){

    return "Hello";}
    @POST
    @Path("/checkPictures")
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.TEXT_PLAIN)
    public String getPictures(Sm7Pictures picture){

        System.out.println("pokrenuto");

    return "Hello";}

}

DAO類是我將盡我所能的地方,但是為了測試目的,我只是把文本簡單地表達了出來……我真的很想弄這個:S,因為它很簡單,但我無法使它正常工作。 我敢打賭,這與模型類有關? 請幫忙!

解決了這個問題,必須將{}放在@Consumes(MediaType.APPLICATION_JSON)就像@Consumes({MediaType.APPLICATION_JSON})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM