Setting Multiple Parameters

Avatar of Hemanta SundarayHemanta Sundaray

To set multiple query parameters, use HttpClientRequest.setUrlParams().

In the example below, we add both limit and sortBy parameters to control how many users are returned and in what order.

http.ts
import {
FetchHttpClient,
HttpClient,
HttpClientRequest,
} from "effect/unstable/http";
import { Effect } from "effect";
function fetchUsersPaginated(options: { limit: number; sortBy: string }) {
return Effect.gen(function* () {
const client = yield* HttpClient.HttpClient;
const request = HttpClientRequest.get("https://dummyjson.com/users").pipe(
HttpClientRequest.setUrlParams({
limit: options.limit.toString(),
sortBy: options.sortBy,
}),
);
const response = yield* client.execute(request);
const data = yield* response.json;
return data;
}).pipe(Effect.provide(FetchHttpClient.layer));
}
// Test it
Effect.runPromise(
fetchUsersPaginated({
limit: 5,
sortBy: "firstName",
}),
).then((data) => {
data.users.map((user) => {
console.log(` ${user.firstName} ${user.lastName}`);
});
});

Output:

Terminal
Aaliyah Hanson
Aaliyah Martinez
Aaron Cook
Abigail Rivera
Addison Wright

Sign in to save progress

Stay in the loop

Get notified when new chapters are added and when this course is complete.