First of all, let me say that I.M.O. you should just use a post with a body, as the solution I will show you isn't very "good".
You could serialize the object as a string, send it in the url and deserialize it back in you API. You will have to have the exact same Model for the object you send on both sides.
Here's how you do that:
Frontend part
var objectModelInstance = new ObjectModel();
using(var client = new HttpClient())
{
var path = "www.pathtowebapi.com/api/endpoint"
var bodyString = JsonConvert.SerializeObject(objectModelInstance);
var response = await client.GetAsync($"{path}?{bodyString}");
}
WEB API Controller
[HttpGet("{stringName}")]
public Task<IActionResult> MethodName(string stringName)
{
var object = JsonConvert.Deserialize<ObjectModel>(stringName);
}
Although I provide a solution to your problem, I do not recommend this and just recommend using a POST.
EDIT:
You say that using POST methods is against REST, could you elaborate on that ? The first REST API i found is the twitter one ( https://developer.twitter.com/en/docs/api-reference-index ) , containing both GET & POST methods.