android – HTTP状态405 – 不允许的方法(jax-rs服务)

android – HTTP状态405 – 不允许的方法(jax-rs服务),第1张

概述我有jax-rs服务的问题,服务返回HTTP状态405 – 方法不允许. 我从 android项目调用serice. 这是我的代码: 服务: @GET@Consumes(MediaType.TEXT_HTML)@Produces(MediaType.APPLICATION_JSON)@Path("login")public Korisnici Login(@QueryParam("u") 我有jax-rs服务的问题,服务返回http状态405 – 方法不允许.
我从 android项目调用serice.

这是我的代码:

服务:

@GET@Consumes(MediaType.TEXT_HTML)@Produces(MediaType.APPliCATION_JsON)@Path("login")public Korisnici Login(@queryParam("u") String username,@queryParam("p") String password){    Korisnici exception = new Korisnici();     try {        for (Korisnici obj : KorisnicIDAO.getInstance().getAll()) {            if (obj.getUsername().equals(username)                    && obj.getpassword().equals(password)) {                return obj;            }        }        return new Korisnici();    } catch (Exception e) {        exception.setIme(e.toString());        return exception;    }}

androID中的代码:

public static Boolean Login(Korisnici k) {String url = "http://myserver.com/AndroIDServis/rest/korisnik_servis/login?u={u}&p={p}";        restTemplate = new RestTemplate();            headers = new httpheaders();            //headers.set("Accept","application/Json");            headers.setContentType(MediaType.APPliCATION_JsON);            params = new HashMap<String,String>();            params.put("u",k.getUsername().toString());            params.put("p",k.getpassword().toString());            entity = new httpentity(headers);            restTemplate.getMessageConverters().add(                    new GsonhttpMessageConverter());            restTemplate.getMessageConverters().add(                new StringhttpMessageConverter());            httpentity<Korisnici> response = restTemplate.exchange(                    url,httpMethod.GET,entity,Korisnici.class,params);            }

我不知道问题出在哪里.

解决方法 服务器在@GET方法上有@Consumes注释是没有意义的,因为这通常仅用于客户端向服务器发送一些内容的PUT或POST请求.
你能删除吗?

然后还从客户端代码中删除它.

headers.setContentType(MediaType.APPliCATION_JsON);

并且您可能需要取消注释已注释掉的行:

headers.set("Accept","application/Json");

这告诉服务器响应中预期的内容类型,因此必须与服务的@Produces匹配.

总结

以上是内存溢出为你收集整理的android – HTTP状态405 – 不允许的方法(jax-rs服务)全部内容,希望文章能够帮你解决android – HTTP状态405 – 不允许的方法(jax-rs服务)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1124852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存