С Новым годом! Форум программистов, компьютерный форум, киберфорум
REST API
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42

Использование REST - ошибка HTTP Status 405 - Method Not Allowed

30.01.2017, 12:42. Показов 3631. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я пытаюсь использовать REST в веб-проекте. POST работает, но при использовании DELETE и PUT показывает ошибку: HTTP Status 405 - Method Not Allowed. Метод GET не работает вообще: is not defined in RFC 2068 and is not supported by the Servlet API. description: The server does not support the functionality needed to fulfill this request."

Мой код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package rest;
 
import domain.model.Client;
 
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.ws.rs.*;
import javax.xml.bind.annotation.XmlRootElement;
import javax.ws.rs.core.GenericEntity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
 
import java.util.ArrayList;
import java.util.List;
 
@XmlRootElement
@Path("/clients")
@Stateless
public class ClientResources {
 
@PersistenceContext
EntityManager entityManager;
 
@GET
@Consumes(MediaType.APPLICATION_JSON)
public Response getAll() {
List matchHistories = new ArrayList<>();
for (Client m : entityManager
.createNamedQuery("client.all", Client.class)
.getResultList())
matchHistories.add(m);
 
return Response.ok(new GenericEntity<List>(matchHistories) {
}).build();
}
 
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response Add(Client client) {
 
entityManager.persist(client);
return Response.ok(client.getId()).build();
}
 
@PUT
@Path("/{id}")
@Consumes(MediaType.APPLICATION_JSON)
public Response update(@PathParam("id") int id, Client p) {
Client result = entityManager.createNamedQuery("client.id", Client.class)
.setParameter("clientId", id)
.getSingleResult();
if (result == null) {
return Response.status(404).build();
}
result.setName(p.getName());
result.setSurname(p.getSurname());
entityManager.persist(result);
return Response.ok().build();
}
 
@GET
@Path("/{id}")
@Produces(MediaType.APPLICATION_JSON)
public Response get(@PathParam("id") int id) {
Client result = entityManager.createNamedQuery("client.id", Client.class)
.setParameter("clientId", id)
.getSingleResult();
if (result == null) {
return Response.status(404).build();
}
return Response.ok(result).build();
}
 
@DELETE
@Path("/{id}")
public Response delete(@PathParam("id") int id) {
Client result = entityManager.createNamedQuery("client.id", Client.class)
.setParameter("clientId", id)
.getSingleResult();
if (result == null)
return Response.status(404).build();
entityManager.remove(result);
return Response.ok().build();
}
Миниатюры
Использование REST - ошибка HTTP Status 405 - Method Not Allowed   Использование REST - ошибка HTTP Status 405 - Method Not Allowed  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.01.2017, 12:42
Ответы с готовыми решениями:

Простой сервлет HTTP Status 405 - HTTP method GET is not supported by this URL
Здравствуйте,начал изучение сервлетов.Делал все последовательно как в примере http://devcolibri.com/4284,пока еще без создания jsp файла...

ошибка Method Not Allowed, The requested method POST is not allowed for the URL /form.html.
Установил Apache сервер, ActivePerl-5.8.1.807-MSWin32, а в моей пробной страничке при нажатия на кнопку формы &lt;form method=post...

Org.jsoup.HttpStatusException: HTTP error fetching URL. Status=405
Привет всем! Народ, такая проблема, при попытке парсером попасть на сайт, выдает ошибку org.jsoup.HttpStatusException: HTTP error...

2
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
30.01.2017, 13:33
судя по скрину ты делаешь PUT на /clients, а он у тебя объявлен на /clients/{id}
0
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
30.01.2017, 13:39  [ТС]
Проблема, как оказалось, в том, что сервер имеет allow методы только POST,GET, как это изменить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.01.2017, 13:39
Помогаю со студенческими работами здесь

Echo Server не работает Private Channel - Client can not be authenticated, got HTTP status 405
https://medium.com/@dennissmink/laravel-echo-server-private-channels-267a9e57bae9 window.Echo.private(`chat.${chatId}`) ...

Авторизация на сайте: "HTTP/1.1 405 Not Allowed"
делаю авторизацию на сайте. код: LoginInfo := TStringList.Create; Response := TStringStream.Create(''); ...

405 Not Allowed
Доброго времени суток! В общем, решил прикрутить к своему сайту форму обратной связи. Прикрутил пхп-скрипт, настроил его, залил на сервак....

Opera 405 Not Allowed nginx
Форумчане выручайте когда авторизируюсь на трекере вылетает ошибка 405 Not Allowed nginx. Такая беда во всех браузерах, пробовал...

Не запускается простейший сервлет - ошибка HTTP Status 404
Господа, в чем может быть проблема, если даже простой сервлет на Tomcat не запускается? Код сервлета abonent1.java package...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru