第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何使用 RestFull web 服務(wù)在 java 中響應(yīng)打印請(qǐng)求的屬性?

如何使用 RestFull web 服務(wù)在 java 中響應(yīng)打印請(qǐng)求的屬性?

瀟湘沐 2023-02-16 16:10:52
我一直在關(guān)注 RestFull webservices 的教程,但我無法理解某些概念。這是我的 PersonServiceImpl 類。    @Path("/person")    @Consumes(MediaType.APPLICATION_JSON)    @Produces(MediaType.APPLICATION_JSON)    public class PersonServiceImpl implements PersonService{    private static Map<Integer,Person> person = new HashMap<Integer,Person>();    @Override    @Path("/add")    @POST    public Response addPerson(Person p) {        Response response = new Response();        if(person.get(p.getId())!=null) {            response.setStatus(false);            response.setMessage("Person already exists");        }            person.put(p.getId(),p);            response.setStatus(true);            response.setMessage("Person added sucessfully ");            return response;    }    @Override    public Response deletePerson(int id) {        // TODO Auto-generated method stub        return null;    }    @Override    public Person getPerson(int id) {        // TODO Auto-generated method stub        return null;    }    @Override    public Person[] getAllPerson() {        // TODO Auto-generated method stub        return null;    }   }我對(duì)代碼進(jìn)行了一些更改以生成和使用 json 文件。這是我的個(gè)人課程@XmlRootElement(name = "person")public class Person {    private String name;    private int age;    private int id;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }}這是我的響應(yīng)類@XmlRootElementpublic class Response {    private boolean status;    private String message;    public boolean isStatus() {        return status;    }    public void setStatus(boolean status) {        this.status = status;    }}我想知道 :如何在響應(yīng)中打印 person 類的值?json 值如何映射到 java 屬性以及在哪里?3.如果我在 json 請(qǐng)求中輸入一個(gè)額外的值,該值會(huì)發(fā)生什么變化?教程鏈接:https://www.journaldev.com/9170/restful-web-services-tutorial-java
查看完整描述

1 回答

?
飲歌長(zhǎng)嘯

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊

首先,實(shí)現(xiàn)自己的Response類不是一個(gè)好主意。該類javax.ws.rs.core.Response存在并且應(yīng)該用于 JAX-RS 方法的一般響應(yīng)。


關(guān)于 1:如果“打印”是指返回實(shí)例的 JSON 表示形式Person,只需執(zhí)行以下操作:


    @Override

    public Person getPerson(int id) {

        Person personForId = person.get(id);

        if (personForId == null) {

          thrown new NotFoundException();

        }

        return personForId;

    }

該P(yáng)erson實(shí)例將自動(dòng)序列化為 JSON 表示形式。


關(guān)于 2:由于Person遵循 Java Bean 的 getter 和 setter 約定,JSON 元素將按名稱映射到 bean 屬性。這個(gè)JSON


{

  "status": true,

  "message": "some message"

}

將映射到Person帶有status = true和的實(shí)例message = "some message"。


您可以在類、其字段或 getter 或 setter 上使用大量注釋來調(diào)整此行為。


關(guān)于 3:此行為取決于您使用的 JSON 序列化庫。廣泛使用的 Jackson 庫提供了@JsonIgnoreProperties注解。為此,其他庫可能有不同的注釋。



查看完整回答
反對(duì) 回復(fù) 2023-02-16
  • 1 回答
  • 0 關(guān)注
  • 99 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)