{
"openapi": "3.0.0",
"info": {
"version": "1.0.0",
"title": "Swagger Sample"
},
"components": {
"securitySchemes": {
"cookieAuth": {
"type": "apiKey",
"in": "cookie",
"name": "token"
},
"cookieSession": {
"type": "apiKey",
"in": "cookie",
"name": "session_id"
}
}
},
"security": [
{
"cookieSession": []
},
{
"cookieAuth": []
}
],
"servers": [
{
"url": "https://jsonplaceholder.typicode.com"
}
],
"paths": {
"/posts": {
"get": {
"description": "Returns a list of posts.",
"responses": {
"200": {
"description": "OK"
}
}
}
}
}
}
item.isShow = false;
this.$set(item, 'isShow', false);
data() {
return {
apiCopy: this.api.map(n => ({
...n,
requests: n.requests.map(m => ({
...m,
isShow: false,
})),
})),
};
},
<script>
export default {
props: [
'api'
],
data: function() {
return {
localApiData: this.$props.api,
};
},
methods: {
btnType: function (type) {
if (type === 'post' || type === 'POST') return 'btn-primary';
if (type === 'get' || type === 'GET') return 'btn-success';
if (type === 'put' || type === 'PUT') return 'btn-warning';
if (type === 'delete' || type === 'DELETE') return 'btn-danger';
},
borderType :function(type){
if (type === 'post' || type === 'POST') return 'border border-primary';
if (type === 'get' || type === 'GET') return 'border border-success';
if (type === 'put' || type === 'PUT') return 'border border-warning';
if (type === 'delete' || type === 'DELETE') return 'border border-danger';
},
listType: function (type) {
if (type === 'post' || type === 'POST') return 'list-group-item-primary';
if (type === 'get' || type === 'GET') return 'list-group-item-success';
if (type === 'put' || type === 'PUT') return 'list-group-item-warning';
if (type === 'delete' || type === 'DELETE') return 'list-group-item-danger';
},
toggleRequest(request) {
request.isShow = !request.isShow;
}
},
created: function () {
this.localApiData.forEach((apiItem) => {
apiItem.requests.forEach((requestItem) => {
this.$set(requestItem, 'isShow', false)
});
});
}
}
</script>
import (
"net/http"
"net/http/cookiejar" //из этого пакета
)
...
jar, err := cookiejar.New(options)
if err == nil {
coocies := []http.Coocie{{Name: "token", Value: token}} //здесь собрать
jar.SetCookies(url, coocies) //здесь привязать к Url
}
client := http.DefaultClient //как вложить токен в куки при отправке запроса?
client.Jar = jar //здесь выдать клиенту
...
client := http.DefaultClient
form := url.Values{
"LoginForm[username]": []string{"user"},
"LoginForm[password]": []string{"pass"},
}
response, err := client.Post("http://httpbin.org/post", "application/x-www-form-urlencoded", strings.NewReader(form.Encode()))
if err != nil {
panic(err)
}
defer response.Body.Close()
b, err := ioutil.ReadAll(response.Body)
if err != nil {
panic(err)
}
println(string(b))
/*
$data = [
0 => ['id' => ..., 'customer_id' => ...],
1 => ['id' => ..., 'customer_id' => ...]
...
]
*/
$sql = $db->queryBuilder->batchInsert(self::$table, arrow_keys($data[0]), $data);
//Yii::setAlias('web', dirname(dirname(__DIR__)) . '/web'); Если сделать так то вываливается куча //ошибок 404 (site.css,main.js).
dirname(dirname(__DIR__)) . '/web'
потому Yii больше не находит каталоги css и js, отсюда куча ошибок 404.<script type="text/javascript">@web/js/main-index.js</script>
@web
, вызывайтеecho Yii::getAlias('@web');
actionMethoddd(){
// получаем переданный токен из заголовков, тела запроса, json или где вы там его передаете
// достаем из места хранение "ранее сохраненный" токен для данной сессии(условно - пользователь, аккаунт, id приложения)
// сравниваем друг с дружкой
// ПРОФИТ
}
Нужно ли добавлять к это методу логин или это проблемы можно как то избежать?