残りの呼び出しで更新したXMLファイルのパス

DrunkCoder:

私は、xmlファイルのファイル名を含むクラスの文字列を更新するためのAPI REST呼び出しをプログラミングしたいです。

私は、GET呼び出しでそれをやろうとしています...しかし、より適切な選択肢があるかもしれません。

これは、URLのサンプルです:のhttp:// localhost /をchangeXMLたconfigFile = configuration.xmlの

@RequestMapping(value = "/changeXML",params= {"configFile"}, produces = { MediaType.APPLICATION_XML_VALUE},
        headers = "Accept=application/xml",method = RequestMethod.GET)
public ResponseEntity<?> updateConfigFile(@RequestParam("configFile") String file) { 

    File f = new File(file);
    System.out.println(f);
    if(f.exists() && !f.isDirectory()) { //file is updated if and only if it exisits 
        System.out.println("FICHERO SI QUE EXISTEEEEE");
        this.configFile=file;   
        return new ResponseEntity<String>("XML configuration file has been updated to: "+file, HttpStatus.OK);
    }
    System.out.println("PETITION");
    //otherwise path is not going to be updated    
    return new ResponseEntity<String>("Unexisting XML", HttpStatus.OK);
} 

私が欲しいのは、属性であるたconfigFile更新します。しかし、それでもまだ、すべての私が今までフィンは、次のエラーがある:このページには、次のエラーが含まれています:行1でエラーを1列で:文書では、次の空で最初のエラーへのページまでのレンダリングです。

私のXMLは、私は細かいことを保証することができますし、...私は、この他のURLを入れた場合でも、のhttp:// localhost /をchangeXMLたconfigFile = C%C3%B1dlvm%C3%B1ldfmv私はまだ同じエラーを持っています。

誰かがこれについていくつかの情報を提供してもらえますか?前もって感謝します!

g00glen00b:

あなたの中@RequestMappingの注釈、あなたが置かれているMediaType.APPLICATION_XML_VALUEの値をproducesパラメータ。あなたはレスポンスがXMLが含まれていることをブラウザに指示することをこれが意味。

あなたは回答を見てみる場合は、あなたが代わりにプレーンテキストを返します。お使いのブラウザは、おそらくXMLとしてこれを解析しようとすることはできませんが、およびエラーをスローします。

解決策は、あなたがあるプレーンテキスト、帰国していることを、あなたのブラウザを伝えることですtext/plainメディアタイプを、またはMediaType.TEXT_PLAIN春に:

@RequestMapping(
    value = "/changeXML",
    params= {"configFile"},
    produces = {MediaType.TEXT_PLAIN}, // Change this
    headers = "Accept=application/xml", 
    method = RequestMethod.GET)

この場合、あなたはおそらく離れて残すことができますproduces春はこれを自動的に解決することができるようになりますように、完全にパラメータを。さらに、headersそしてparamsあなただけ書くことができ、この場合、いずれかのように、パラメータは必要ありません。

@RequestMapping(value = "/changeXML", method = RequestMethod.GET)

またはさらに短いです。

@GetMapping("/changeXML")

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=195383&siteId=1