2016-08-01 50 views
0

我有一個使用Spring實現的REST服務。對於一些請求,我想從客戶端傳輸一些額外的數據,例如時間戳和用戶名(也可能是其他內容)以保留某些操作日誌。什麼是最好和正確的方法來實現這一目標?REST:用一些請求發送附加用戶數據

很明顯,我可以將這些數據作爲請求參數或消息體傳遞,但它可能是錯誤的,並會強制我更新適當的控制器 - 有沒有更好的方法?

回答

0

我不確定您是否不想更改控制器的方法簽名,但是如果您只是將HttpServletRequest添加到控制器的參數中,Spring將自動注入此對象。它配備了您正在尋找的,包括日期/時間標記,用戶名中的所有元數據等

http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html

+0

我想同樣的事情,但我不知道它是否值得注入的請求。我只希望有更優雅的方法。但仍然,感謝您的回覆 – underscore

+0

請查看HandlerInterceptorAdaptor的示例。它將處理諸如http請求的審計/訪問日誌記錄之類的橫切關注點 https://www.mkyong.com/spring-mvc/spring-mvc-handler-interceptors-example/ 這是一個老例子,但攔截器仍然在那裏 –