2013-07-14 13 views
6

私はdecodeUrl(...)を呼びたいと、私のようにそれをやっていた:`dart:uri`はどこですか?

import "dart:uri"; 

main() { 
    decodeUrl("str"); 
} 

しかし、今、最新のダート-SDKで、それが報告されます。

Do not know how to load 'dart:uri' 
import 'dart:uri'; 
^ 

は、SDKから削除されているようです。私は多くを検索しましたが、今はどこにいるのかまだ分かりません。最新のSDKでdecodeUrl(...)を使用するにはどうすればよいですか?

答えて

6

this post to the Dart announcement listによると、dart:uriは、コアUriクラスに置き換えられました。 print(Uri.decodeFull("str%20here"));を書くことがより有益であるかもしれないけど

main() { 
    decodeUrl("str"); 
} 

あなたのコードはに変換されます。

4

新しいリリースのダーツ発表、変更の徹底、およびその他の重要なニュースから。

ライブラリダーツ:uriが削除され、クラスUriがコアに追加されました。

ライブラリダーツ:uriが削除されました。

変更内容

ライブラリダーツ:uriが削除されました。

クラスUriは現在core libraryです。 dart:uriからencodeUriComponentenocdeUridecodeUriComponentdecodeUriトップレベル関数は、静的メソッドUri.encodeComponentUri.enocdeFullUri.decodeComponentUri.decodeFullに移動されています。

コンストラクタUri.fromComponentsはちょうどUriに改名されていないと、URI文字列を取る前のUriコンストラクタは使用できなくなりましたが、静的メソッドUri.parseへの呼び出しに置き換えることをしています。

最後に、プラスおよびスペースtoエンコード/デコードの処理は、Uri.encodeComponentおよびUri.decodeComponentから削除されました。このエンコード/デコードを行うには、追加された静的メソッドUri.encodeQueryComponentUri.decodeQueryComponentを使用します。

この他にも、Uriクラスには追加機能があります。詳細については、変更とdartdocを参照してください。

Uriクラスのダーツドックは、今後数日で改善されます。

影響を受けるのは誰ですか?

ユーザー:dart:uri。

コードを更新するにはどうすればよいですか?

変更new Uri(...)変更encodeUriComponentenocdeUridecodeUriComponentUri.encodeComponentへの呼び出しにdecodeUriUri.enocdeFullUri.decodeComponentUri.decodeFullの新しいUri.fromComponents(...)

new Uri(...)に変更コールの使用

Uri.parse(...)への使用。

最後に、encodeUriComponentdecodeUriComponentがスペースをプラスとスペースに変更したことを確認します。その場合は、Uri.encodeComponentUri.decodeComponentの代わりにUri.encodeQueryComponentUri.decodeQueryComponentを使用してください。

+1

非常に良い!あなたはその情報をどこで見つけましたか?私にURLを表示できますか? – Freewind

+0

メーリングリスト:[[email protected]](https://groups.google.com/a/dartlang.org/forum/?fromgroups#!forum/announce)。投稿:[変更点:ライブラリダーツ:URIが削除され、Uriクラスがコアに追加されました](https://groups.google.com/a/dartlang.org/forum/?fromgroups#!topic/announce/pHyoawHOhU0) – mezoni