Are you saying that is coming through if you were to say use dd($request->all()); on the first line of your create() method?
That is strange for the url to be sent as a request param, but it does bring up a very very important point in your code snippet:
It is very dangerous to send the entire array of request input (in this case to your repository, but in general to model's create() method).
I would highly recommend adding validation rules to any input fields you want to accept and store the validated fields:
$validatedData = $request->validate([
'name' => 'string|required',
'code' => 'string|required',
'note' => 'string'
]);
// $validated data will only ever include 'name', 'code', 'note' because they are the fields that have been validated.
$this->repository->createRole($validatedData);
Alternatively, you can use a whitelist like this:
$this->repository->createRole($request->only(['name', 'code', 'note']));