2017-01-18 12 views
0

Приложение My Grails 3.2.3 работает на порте 9000, и я делаю запрос GET по адресу /api/mail/getUnreadCount, m получает ошибку 404 для этого URL-адреса.

Мои URLMapping.groovy имея:

get "/api/$controller(.$format)?"(action: "index") 
get "/api/$controller/$id(.$format)?"(action: "show") 

"/api/$controller/$action?/$id?(.$format)?" { 
    constraints { 
     // apply constraints here 
    } 
} 

также помочь мне, как мы можем включить журналы Grails URL отображения?

Update 1

class MailController { 

    static allowedMethods = [index: "GET", getUnreadCount: "GET"] 
    ..... 
    ....... 
    def getUnreadCount() { 
     User currentUserInstance = springSecurityService.getCurrentUser() 
     List counts = userService.getUnreadCounts(currentUserInstance) 
     respond(counts) 
    } 
} 
+0

Вы пытались добавить '/' в '/ api/mail/getUnreadCount', чтобы оно выглядело как '/ api/mail/getUnreadCount /' – mic4ael

+0

Да, я попытался, но все еще проблема есть –

+0

Я думаю, что проблема в вашем приложение grails неправильно работает на порте 9000. Проверьте, можете ли вы открыть главную страницу Grails, нажав ** http: // localhost: 9000 **. если он работает, то он показывает ваш ** почтовый ** контроллер? –

ответ

1

Ожидается, что у вас есть getUnreadCount.gsp в представлениях каталога/почты, чтобы получить выход из respond

.. и для кода вы предоставили, если вы не имеете любой вид, вы должны получить Error 500 не 404.

В вашем коде, поставьте

форматы: [ 'XML', 'JSON']

или явно упомянуть вид

вид: "showCount"

или попробовать render метод вместо

Обновление

Btw, пожалуйста, удалите

get "/api/$controller/$id(.$format)?"(action: "show") 

Когда вы нажмете/API/почты/getUnreadCount, это отображение вызывает $id = getUnreadCount, и вы не имеете каких-либо действий show в контроллере, который генерирует ошибку.

 Смежные вопросы

  • Нет связанных вопросов^_^