问答详情
源自:2-4 第一个 Spring Boot 应用(三)

get 404可能遇到的问题

在RouterFunctionConfiguration中创建的findall方法后,需要去UserRepository中返回Map存储:
return repository.values();


提问者:千层 2019-05-16 21:42

个回答

  • wangqian6151
    2019-06-06 16:26:49

    /**
     * {@link User} {@link Repository}
     */
    @Repository
    public class UserRepository {
    
        /**
         * 采用内存型的存储方式->Map
         */
        private final ConcurrentMap<Integer, User> repository = new ConcurrentHashMap<>();
    
        private final static AtomicInteger idGenerator = new AtomicInteger();
    
        /**
         * 保存用户对象
         *
         * @param user {@link User} 对象
         * @return 如果保存成功,返回<code>true</code>,
         * 否则返回<code>false</code>
         */
        public boolean save(User user) {
            //ID从1开始
            Integer id = idGenerator.incrementAndGet();
    //        设置ID
            user.setId(id);
            return repository.put(id, user) == null;
        }
    
        /**
         * 返回所有用户
         *
         * @return
         */
        public Collection<User> findAll() {
            return repository.values();
        }
    }