0

how can i solve this problem? i have seen some solutions but these solutions did not help me. here is the complete error.

java.lang.IllegalArgumentException: Invalid character found in the request target [/workerJpas%7B?page,size,sort} ]. The valid characters are defined in RFC 7230 and RFC 3986 org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:494) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:269) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1722) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.base/java.lang.Thread.run(Thread.java:832)

// this is my adapter.out which contains the variable workerJpas

public class ListWorkerImpl implements ListOfWorkerRepository{

    WorkerJpaInterface workerJpaInterface;
    @Override

    public List<Worker> findAll() {
        List<WorkerJpa> jpaWorkers = workerJpaInterface.findAll();
        List<Worker> domWorkers = new ArrayList<>();        
        for(WorkerJpa jpaWorker : jpaWorkers) {
            Worker domWorker = new Worker();
            domWorker.setPhoneNumber(jpaWorker.getPhoneNumber());
            domWorker.setFirstName(jpaWorker.getFirstName());
            domWorker.setId(jpaWorker.getId());
            domWorker.setLastName(jpaWorker.getLastName());
            domWorker.setIfu(jpaWorker.getIfu());
            domWorker.setImageParth(jpaWorker.getWorkerPicture());
            domWorker.setWorkerType(jpaWorker.getWorkerType());
            domWorker.setStatut(jpaWorker.getStatut()); 
            domWorkers.add(domWorker);          
        }       
        return domWorkers;      
    }

}

// here is a usecase

@Service

public class ListOfWorkerImpl implements ListOfWorker{
    
    @Autowired
    private ListOfWorkerRepository listOfWorkerRepository;

    @Override
    public List<Worker> findAll(){
        return listOfWorkerRepository.findAll();
    }

}

// here is my adapter.in


@RestController
public class WorkerController {
    
    private ListOfWorker listOfWorker;
    
    @Autowired
    public WorkerController(ListOfWorker listOfWorker) {
        this.listOfWorker = listOfWorker;
    }
    
   // here is how the REST endpoint is called
    @GetMapping
    public List<Worker> getWorkers() {
        return listOfWorker.findAll();
        
    }

}

// here port.in

public interface ListOfWorker {
    public List<Worker> findAll();
}

0 Answers0