У меня есть базовый CRUD rails 5.2 API с моделью Story.Я строю интерфейс Vuejs, чтобы потреблять его.В настоящее время индексное представление в / Stories успешно извлекает данные с сервера.Я также могу добавить истории в базу данных с помощью NewStory.vue в историях / новых.Сейчас я пытаюсь показать одну историю на странице в историях /: id.На данный момент сервер api показывает единственный нужный мне результат в v1 / Stories /: id.
. Вот что я имею в сервисах / Api.js:
import axios from 'axios'
export default() => {
return axios.create({
baseURL: `http://localhost:3000/v1`
})
}
в StoriesService.js:
import Api from '@/services/Api'
export default {
fetchStories () {
return Api().get('stories')
},
addStory (params) {
return Api().post('stories', params)
},
getStory (params) {
return Api().get('/stories/1')
}
}
в ViewStory.vue:
<template>
<div class="stories">
<h1>Story</h1>
<div v-if="story" class="table-wrap">
<div>
<router-link v-bind:to="{ name: 'NewStory' }" class="">Add
Story</router-link>
</div>
<p>Title: {{story.attributes.title}}</p>
<p>Overview: {{story.attributes.description}}</p>
</div>
<div v-else>
The story with id:{{params}} does not exist <br><br>
<!-- <router-link v-bind:to="{ name: 'NewStory' }"
class="add_story_link">Add Story</router-link> -->
</div>
</div>
</template>
<script>
import StoriesService from '@/services/StoriesService'
export default {
name: 'story',
data () {
return {
title: '',
description: ''
}
},
mounted () {
this.getStory()
},
methods: {
async getStory (params) {
const response = await StoriesService.getStory(params)
this.story = response.data
console.log(this.story)
}
}
}
</script>
Когда код записи жестко задан, на вкладке Сеть отображается запрос к API и правильная запись.будучи извлеченным.
Однако, если я изменяю вызов getStory на return Api().get('/stories/', params)
, я получаю ответ 304 и не могу получить данные.
Мой вопрос заключается в том, как заставить StoriesService.js вернуть localhost: 3000 / v1 / Stories / params.id, где params.id является идентификаторомистория, указанная в ссылке.