Hi @anuj31005349h74z,
The problem is caused by the fact that you are using endpoint that matches AEM OOTB REST api. In general everything starting with /api/* is part of AEM Core Service and will be handheld by com.adobe.granite.rest.impl.servlet.ApiResourceFilter. You can see all available main endpoints under /api.json

You can observe under /system/console/requests, how /api/* requests are handled:

If you have to use /api prefix, avoid paths like: /api/assets, /api/screens, /api/screens-dcc, /api/content.
Your custom servlet will not be correctly handled by OOTB mechanism, this is why you are getting 406 status.
To solve the problem you can change change your path from /api/assets/eshop to /api/asset/eshop, or use different pattern for the path starting with api except path listed above. However using /bin would be the best idea, as it will not require changes under Servlet/Script resolver.