De 7.32 para 7.33
Carregar dados
No JxBrowser 7.33, removemos um método para configurar os dados de upload em LoadUrlParams
como um texto bruto.
7.32 e anteriores:
Com uma API antiga, o tipo de dados era indefinido e cabia a um servidor Web interpretar esses dados.
import com.teamdev.jxbrowser.navigation.LoadUrlParams;
...
LoadUrlParams params =
LoadUrlParams.newBuilder("https://example.com")
.postData("foo=bar&buzz=feed")
.build();
browser.navigation().loadUrl(params);
import com.teamdev.jxbrowser.navigation.LoadUrlParams
...
val params =
LoadUrlParams.newBuilder("https://example.com")
.postData("foo=bar&buzz=feed")
.build()
browser.navigation().loadUrl(params)
7.33:
Com a nova API, cada tipo de dados de carregamento deve ter um tipo:
import com.teamdev.jxbrowser.navigation.LoadUrlParams;
import com.teamdev.jxbrowser.net.FormData;
import com.teamdev.jxbrowser.net.FormData.Pair;
...
FormData formData =
FormData.newBuilder()
.addPair(Pair.of("foo", "bar"))
.addPair(Pair.of("buzz", "feed"))
.build();
LoadUrlParams params =
LoadUrlParams.newBuilder("https://example.com")
.uploadData(formData)
.build();
browser.navigation().loadUrl(params);
import com.teamdev.jxbrowser.navigation.LoadUrlParams
import com.teamdev.jxbrowser.net.FormData
import com.teamdev.jxbrowser.net.FormData.Pair
...
val formData =
FormData.newBuilder()
.addPair(Pair.of("foo", "bar"))
.addPair(Pair.of("buzz", "feed"))
.build()
val params =
LoadUrlParams.newBuilder("https://example.com")
.uploadData(formData)
.build()
browser.navigation().loadUrl(params)
Como alternativa, você pode utilizar um formato arbitrário de dados de carregamento, utilizando ByteData
com o tipo de conteúdo personalizado.
import com.teamdev.jxbrowser.navigation.LoadUrlParams;
import com.teamdev.jxbrowser.net.ByteData;
import com.teamdev.jxbrowser.net.ContentType;
...
ContentType type = ContentType.newBuilder("application/x-www-form-urlencoded").build();
ByteData byteData = ByteData.of("foo=bar&buzz=feed".getBytes(UTF_8), type);
LoadUrlParams params =
LoadUrlParams.newBuilder("https://example.com")
.uploadData(byteData)
.build();
browser.navigation().loadUrl(params);
import com.teamdev.jxbrowser.navigation.LoadUrlParams
import com.teamdev.jxbrowser.net.ByteData
import com.teamdev.jxbrowser.net.ContentType
...
val type = ContentType.newBuilder("application/x-www-form-urlencoded").build()
val byteData = ByteData.of("foo=bar&buzz=feed".toByteArray(), type)
val params =
LoadUrlParams.newBuilder("https://example.com")
.uploadData(byteData)
.build()
browser.navigation().loadUrl(params)