# Build an URI with query parameters

**URL:** <https://discourse.julialang.org/t/build-an-uri-with-query-parameters/96556>\
**Category:** General Usage\
**Tags:** question, package, web\
**Created:** [March 24, 2023, 11:55am UTC](https://discourse.julialang.org/t/build-an-uri-with-query-parameters/96556 "2023-03-24T11:55:01Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![oliviermilla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oliviermilla/32/47200_2.png) [@oliviermilla](https://discourse.julialang.org/u/oliviermilla)\
**Post date:** [March 24, 2023, 11:55am UTC](https://discourse.julialang.org/t/build-an-uri-with-query-parameters/96556/1 "2023-03-24T11:55:02Z")

</div>

Using URIs 1.4.2

How to generate URI with query parameters?

```julia
URI("http://www.example.com"; query=Dict("a" => "b"))
ERROR: MethodError: no method matching URI(::String; query=Dict("a" => "b"))
Closest candidates are:
    URIs.URI(::String, ::SubString{String}, ::SubString{String}, ::SubString{String}, ::SubString{String}, ::SubString{String}, ::SubString{String}, ::SubString{String}) at ~/.julia/packages/URIs/gpp9J/src/URIs.jl:47 got unsupported keyword argument "query"
    URIs.URI(::AbstractString) at ~/.julia/packages/URIs/gpp9J/src/URIs.jl:146 got unsupported keyword argument "query"
    URIs.URI(::Any, ::Any, ::Any, ::Any, ::Any, ::Any, ::Any, ::Any) at ~/.julia/packages/URIs/gpp9J/src/URIs.jl:47 got unsupported keyword argument "query"

```

---

<div class="post-metadata">

**Author:** ![contradict](https://avatars.discourse-cdn.com/v4/letter/c/ac91a4/32.png) [@contradict](https://discourse.julialang.org/u/contradict)\
**Post date:** [March 24, 2023, 4:44pm UTC](https://discourse.julialang.org/t/build-an-uri-with-query-parameters/96556/2 "2023-03-24T16:44:09Z")

</div>

The first argument needs to be a URI:

```julia
hosturi = URI("http://www.example.com")

queryuri = URI(hosturi; query=Dict("a" => "b"))

```

You don’t have to use a `Dict`, a vector of pairs works as well:

```julia
queryuri = URI(hosturi; query=[:a=>"b"])

```

You can also set the path:

```julia
querywithpath = URI(hosturi; path="/some/endpoint", query=[:a=>"b"])

```

---

<div class="post-metadata">

**Author:** ![oliviermilla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oliviermilla/32/47200_2.png) [@oliviermilla](https://discourse.julialang.org/u/oliviermilla)\
**Post date:** [March 24, 2023, 6:58pm UTC](https://discourse.julialang.org/t/build-an-uri-with-query-parameters/96556/3 "2023-03-24T18:58:54Z")

</div>

🙀 that was so close.

Thank you!
