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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用一個 RequestBody 在使用 java Spring 的 post 方法中區(qū)分 xml

使用一個 RequestBody 在使用 java Spring 的 post 方法中區(qū)分 xml

蝴蝶刀刀 2023-06-04 19:46:32
我正在使用 Java Spring 引導(dǎo)編寫 restApplication。我應(yīng)該在春天寫帖子請求。其中接受數(shù)據(jù)是text/xml。但是,在 post 方法的參數(shù)中出現(xiàn)的 Dto 可以更改類的名稱,例如一次它可能會出現(xiàn)在以下視圖中   <Request1><Head><head>    <id/>    <name/>    <surname/></head></Head></Request1>在同一 url 地址的請求中,它可能會出現(xiàn)在其他視圖中   <Other1><Head><head>   </fio></head></Head></Other1>我如何一次為多個通用 xml 編寫一個 post 方法。這可能在 Java spring 中做到嗎??。我在 pyton 中看到可以只寫分配給變量一些 response.data 就是這樣   @RequestMapping(name = "/a",method = RequestMethod.POST,produces = MediaType.ALL_VALUE)    private ResponseEntity<String> get(@RequestBody String data) throws ParserConfigurationException, IOException, SAXException {        String temp = "";        for(int i = 0 ; i < data.length() ;i ++){            if(Character.isAlphabetic(data.charAt(i))  || Character.isDigit(data.charAt(i)) || data.charAt(i) == '<' || data.charAt(i) == '>' || data.charAt(i) == '/' ){                    temp += data.charAt(i);            }        }        DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();        InputSource src = new InputSource();        src.setCharacterStream(new StringReader(temp));        Document doc = builder.parse(src);        String temp23 = doc.getDocumentURI();        System.out.println(temp23);        String id = doc.getElementsByTagName("id").item(0).getTextContent();        String name = doc.getElementsByTagName("userName").item(0).getTextContent();        //String pink = doc.getElementsByTagName("request").item(0).getTextContent();        System.out.println(id+" "+name+" "+temp23);        return ResponseEntity.ok(data);    }現(xiàn)在我從字符串中得到
查看完整描述

2 回答

?
長風(fēng)秋雁

TA貢獻(xiàn)1757條經(jīng)驗 獲得超7個贊

經(jīng)過 1 天的搜索,我發(fā)現(xiàn) Response 應(yīng)該以字符串形式返回,并且在 Document 類的幫助下,我們可以從字符串中解析新的 xml,然后我們可以做我們應(yīng)該做的事情。Request1 是其他請求中的第一個 xml 數(shù)據(jù),它來自 Other1 xml數(shù)據(jù)沒關(guān)系。


 @RequestMapping(name = "/a",method = RequestMethod.POST,produces = MediaType.ALL_VALUE)

private ResponseEntity<String> getIt(@RequestBody String path) throws ParserConfigurationException, IOException, SAXException {

    Document doc = DocumentBuilderFactory.newInstance()

            .newDocumentBuilder()

            .parse(new InputSource(new StringReader(path)));

   if(path.contains("Request1")){

    NodeList tagName = doc.getElementsByTagName("id");

    if(tagName.getLength() > 0){

        System.out.println(tagName.item(0).getTextContent());

    }


   }

   if(path.contains("Other1")){

        NodeList tagName = doc.getElementsByTagName("fio");

        if(tagName.getLength() > 0){

            System.out.println(tagName.item(0).getTextContent());

        }

   }

    return ResponseEntity.ok("SAVED");


}


查看完整回答
反對 回復(fù) 2023-06-04
?
慕的地6264312

TA貢獻(xiàn)1817條經(jīng)驗 獲得超6個贊

好的,當(dāng)你在響應(yīng)中有不同的數(shù)據(jù)時,你想得到不同的結(jié)果嗎?如果是,那么請?zhí)幚砜刂破鲀?nèi)的視圖,您想為該響應(yīng)顯示哪個視圖。

我希望這會幫助你理解。


查看完整回答
反對 回復(fù) 2023-06-04
  • 2 回答
  • 0 關(guān)注
  • 193 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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