Spring boot returns keycloak users in html instead of json

i am using keycloak and spring to get the user list in a rest service, however the rest return the html instead of json data.

here is the service.

import org.keycloak.representations.idm.UserRepresentation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl implements UserService{
    @Autowired
    KeycloakInstance keycloakInstance;

    
    public List<UserRepresentation> loadUsers(String realm) {
        return keycloakInstance.getInstance()
                .realm(realm)
                .users()
                .list();
    }
}

here is the controller.

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import org.keycloak.representations.idm.UserRepresentation;

import java.util.List;
@RestController
@RequestMapping("/api/admin/users")
public class UserController {
    @Autowired
    private UserService userService;

    @GetMapping(value = "", produces="application/json") 
    public List<UserRepresentation> loadUsers() {
        String realm = "abc";
        return userService.loadUsers(realm);
    }
}

any idea how to fix this?